map<R> method

VarArgsFunction<R> map<R>(
  1. R transform(
    1. T result
    )
)

Creates a new VarArgsFunction that applies a transformation to the result of this function.

This allows for function composition:

var countArgs = VarArgsFunction<int>((args, _) => args.length);
var doubleCount = countArgs.map((count) => count * 2);
print(doubleCount(1, 2, 3)); // Outputs: 6

Implementation

VarArgsFunction<R> map<R>(R Function(T result) transform) {
  return VarArgsFunction<R>((args, kwargs) {
    final result = callback(args, kwargs);
    return transform(result);
  });
}