Remove the need to wrap every model in ZIO

This commit is contained in:
Paul-Henri Froidmont 2025-11-07 01:34:59 +01:00
parent 1da129f855
commit c19086ef32
Signed by: phfroidmont
GPG key ID: BE948AFD7E7873BE
6 changed files with 24 additions and 30 deletions

View file

@ -8,10 +8,10 @@ import zio.stream.ZStream
import TestView.*
class TestView extends LiveView[Msg, Model]:
def init = ZIO.succeed(Model())
def init = Model()
def update(model: Model) =
case Msg.UpdateModel(f) => ZIO.succeed(f(model))
case Msg.UpdateModel(f) => f(model)
def view(model: Dyn[Model]) =
div(

View file

@ -8,3 +8,5 @@ trait LiveView[Msg, Model]:
def update(model: Model): Msg => Task[Model]
def view(model: Dyn[Model]): HtmlElement
def subscriptions(model: Model): ZStream[Any, Nothing, Msg]
given [T]: Conversion[T, Task[T]] = ZIO.succeed(_)