listSwitch<T> function

List<Widget> listSwitch<T>({
  1. required BuildContext context,
  2. required T value(
    1. BuildContext context
    ),
  3. required Map<T, List<Widget> Function(BuildContext context)> caseBuilders,
  4. List<Widget> defaultBuilder(
    1. BuildContext
    )?,
})

Implementation

List<Widget> listSwitch<T>({
  required final BuildContext context,
  required final T Function(BuildContext context) value,
  required final Map<
    T, List<Widget> Function(BuildContext context)
  > caseBuilders,
  final List<Widget> Function(BuildContext)? defaultBuilder
}) {
  final valOf = value(context);
  if (caseBuilders[valOf] != null) {
    return caseBuilders[valOf]!(context);
  } else {
    return defaultBuilder != null
      ? defaultBuilder(context)
      : [];
  }
}