makeClosure function

Closure makeClosure(
  1. void action(), {
  2. Status returning = Status.success,
})

Creates a Closure instance for the specified Function argument returning a predetermined Status value. The default predetermined Status is Status.success.

This is a convenience function to construct Closure instances that do not compute a Status to return.

Example:

void main() {
  var value = 42;

  // use convenience function to create a Closure
  final addToValue = makeClosure(() => ++value);

  assert(addToValue.update() == Status.success);
  assert(value == 43);
}

Implementation

Closure makeClosure(
  final void Function() action, {
  final Status returning = Status.success,
}) =>
    Closure(() {
      action();
      return returning;
    });