From 20b17729b2f1e43eea9fd82e8398326c53b9d78b Mon Sep 17 00:00:00 2001 From: Ubiratan Soares Date: Wed, 24 Jul 2019 01:18:50 +0200 Subject: [PATCH] Improving design --- .../norris/architecture/StateTransition.kt | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/unidirectional-dataflow/src/main/java/io/dotanuki/norris/architecture/StateTransition.kt b/unidirectional-dataflow/src/main/java/io/dotanuki/norris/architecture/StateTransition.kt index a2cc9dff..05d1b2b5 100644 --- a/unidirectional-dataflow/src/main/java/io/dotanuki/norris/architecture/StateTransition.kt +++ b/unidirectional-dataflow/src/main/java/io/dotanuki/norris/architecture/StateTransition.kt @@ -4,11 +4,22 @@ sealed class StateTransition { interface Parameters - class Unparametrized(val task: suspend () -> T) : StateTransition() - class Parametrized(val task: suspend (Parameters) -> T, val parameters: Parameters) : StateTransition() + class Unparametrized internal constructor( + val task: suspend () -> T + ) : StateTransition() + + class Parametrized internal constructor( + val task: suspend (Parameters) -> T, + val parameters: Parameters + ) : StateTransition() companion object { + operator fun invoke(task: suspend () -> T) = Unparametrized(task) - operator fun invoke(task: suspend (Parameters) -> T, data: Parameters) = Parametrized(task, data) + + operator fun invoke( + task: suspend (Parameters) -> T, + data: Parameters + ) = Parametrized(task, data) } } \ No newline at end of file