reduce static method

dynamic reduce(
  1. dynamic value,
  2. dynamic callback(
    1. dynamic,
    2. dynamic
    )
)

Implementation

static dynamic reduce(
  dynamic value,
  dynamic Function(dynamic, dynamic) callback,
) {
  if (value == null) return null;
  if (value is Data) value = value.value;
  if (value is List && value.isNotEmpty) {
    return value.reduce(
      (a, b) => callback(a is Data ? a.value : a, b is Data ? b.value : b),
    );
  }
  return value;
}