State and questions go in. Structured answers come out.
Install
libraryDependencies += "rocks.earlyeffect" %% "hexis" % "0.1.0"
// Scala.js / Native
libraryDependencies += "rocks.earlyeffect" %%% "hexis" % "0.1.0"
SystemOne.evaluate
SystemOne.evaluate is the client. The state and the questions go in. A structured answer comes out.
def evaluate[S, Q, O](state: S, questions: Q, model: Option[Model] = None)(using
ToState[S],
Ask.Aux[Q, O],
): ZIO[SystemOne, JevError, O] =
ZIO.serviceWithZIO(_.evaluate(state, questions, model))