updateComponent<T extends Model, P extends Model> method

(P, Cmd?) updateComponent<T extends Model, P extends Model>(
  1. T component,
  2. Msg msg,
  3. void setter(
    1. T
    )
)

Helper to update a child component and return the parent model.

@override
(Model, Cmd?) update(Msg msg) {
  return updateComponent(myChild, msg, (newChild) => myChild = newChild);
}

Implementation

(P, Cmd?) updateComponent<T extends Model, P extends Model>(
  T component,
  Msg msg,
  void Function(T) setter,
) {
  final (newComponent, cmd) = component.update(msg);
  setter(newComponent as T);
  return (this as P, cmd);
}