variantSwitcher<T extends Attribute> static method

Mix<T> variantSwitcher<T extends Attribute>(
  1. Mix<T> mix,
  2. Map<bool, Variant<T>> cases
)

Implementation

static Mix<T> variantSwitcher<T extends Attribute>(
  Mix<T> mix,
  Map<bool, Variant<T>> cases,
) {
  final keys = cases.keys.toList();
  final values = cases.values.toList();

  List<Variant<T>> variants = [];

  for (var i = 0; i < keys.length; i++) {
    if (keys[i]) {
      variants.add(values[i]);
    }
  }

  return mix.withVariants(variants);
}