diff --git a/ui/shared/src/main/scala/works/iterative/ui/model/Computable.scala b/ui/shared/src/main/scala/works/iterative/ui/model/Computable.scala index 2eae37d..53d226b 100644 --- a/ui/shared/src/main/scala/works/iterative/ui/model/Computable.scala +++ b/ui/shared/src/main/scala/works/iterative/ui/model/Computable.scala @@ -56,3 +56,9 @@ case Ready(model) => Ready(f(model)) case Failed(error) => Failed(error) case Recomputing(start, model) => Recomputing(start, f(model)) + + extension [A](c: Computable[A]) + def toOption: Option[A] = c match + case Ready(model) => Some(model) + case Recomputing(start, model) => Some(model) + case _ => None