widget<T> static method

Widget widget<T>({
  1. required BuildContext context,
  2. required T condition(
    1. BuildContext context
    ),
  3. required Map<T, Widget Function(BuildContext context)> caseBuilders,
  4. Widget fallbackBuilder(
    1. BuildContext context
    )?,
})

Calls caseBuilders value where key == condition. If nothing found calls fallbackBuilder which defaults to Container().

Implementation

static Widget widget<T>({
  required BuildContext context,
  required T Function(BuildContext context) condition,
  required Map<T, Widget Function(BuildContext context)> caseBuilders,
  Widget Function(BuildContext context)? fallbackBuilder,
}) {
  final T value = condition(context);
  if (caseBuilders[value] != null) {
    return caseBuilders[value]!(context);
  } else {
    return fallbackBuilder != null ? fallbackBuilder(context) : Container();
  }
}