updateOwnData method

MessageActionDescriptor<M, D, C> updateOwnData(
  1. D update(
    1. MessageHandlerContext<M, D, C> ctx
    ), {
  2. StateKey? forState,
  3. String? label,
})

Implementation

MessageActionDescriptor<M, D, C> updateOwnData(
  D Function(MessageHandlerContext<M, D, C> ctx) update, {
  StateKey? forState,
  String? label,
}) {
  var info = MessageActionInfo(ActionType.updateData, null, D, label);
  return MessageActionDescriptor(info, (ctx) {
    _log.fine(() => "State '$_forState' is updating data of type $D");
    var data = ctx.messageContext.dataOrThrow<D>(_forState);
    data.update((current) => update(ctx));
  });
}