# Package-level declarations

## Types

Merger
Link copied to clipboard
class Merger<Type : Any>(transformationContractList: List<Merger.MergerContract<Type>>) : Transformer<Type>

Merger transforms multiple Type values into single instance being emitted.

MoreThanOneContractApplicable
Link copied to clipboard
class MoreThanOneContractApplicable(transformer: Class<out Transformer<*>>, contracts: List<Transformer.TransformationContract>, value: Any) : IllegalArgumentException

Exception notifies that there is a confusing conditions where multiple Transformer.TransformationContract are meet conditions. Shall not be ignored as it's implies for badly defined conditions of contracts.

Splitter
Link copied to clipboard
class Splitter<Type : Any>(transformationContractList: List<Splitter.SplitterContract<Type>>) : Transformer<Type>

Splitter transforms single Type value into several instances being emitted separately.

TransformationContractNotFoundException
Link copied to clipboard
object TransformationContractNotFoundException : IllegalStateException

If none of defined transformation contracts are meet conditions exception is being thrown. Basically it should be ignored as for the most of values there will be no Transformer.TransformationContract defined.

Transformer
Link copied to clipboard
fun interface Transformer<Type>

Flow custom transformation which encapsulates Flow.transform function into every implementation (including anonymous) of type Transformer