withArg<Model, Msg, Arg> static method

MVUBuilder<Model, Msg> withArg<Model, Msg, Arg>(
  1. Arg a, {
  2. required (Model, Cmd<Msg>) init(
    1. Arg
    ),
  3. required (Model, Cmd<Msg>) update(
    1. Msg,
    2. Model
    ),
  4. required MsgWidgetBuilder<Model, Msg> view,
  5. Subscription<Model, Msg>? subscriptions,
  6. bool modelEquality(
    1. Model,
    2. Model
    )?,
})

Creates a MVUBuilder with the given init, update and view functions.

  • init is called once with the given argument to return the initial model and commands.
  • update is called when a message is received to update the model and return new commands.
  • view is called to render the view and dispatch new messages.

Implementation

static MVUBuilder<Model, Msg> withArg<Model, Msg, Arg>(Arg a,
        {required (Model, Cmd<Msg>) Function(Arg) init,
        required (Model, Cmd<Msg>) Function(Msg, Model) update,
        required MsgWidgetBuilder<Model, Msg> view,
        Subscription<Model, Msg>? subscriptions,
        bool Function(Model, Model)? modelEquality}) =>
    MVUBuilder._(
        MVUProcessor.fromFunctions(
            init: () => init(a),
            update: update,
            subscriptions: subscriptions,
            modelEquality: modelEquality),
        (BuildContext context, TickerProvider _, Model model,
                Dispatch<Msg> dispatcher) =>
            view(context, model, dispatcher));