combine<T extends Attribute> static method

Mix<T> combine<T extends Attribute>([
  1. Mix<T>? mix1,
  2. Mix<T>? mix2,
  3. Mix<T>? mix3,
  4. Mix<T>? mix4,
  5. Mix<T>? mix5,
  6. Mix<T>? mix6,
])

Merges many mixes into one

Implementation

// ignore: long-parameter-list
static Mix<T> combine<T extends Attribute>([
  Mix<T>? mix1,
  Mix<T>? mix2,
  Mix<T>? mix3,
  Mix<T>? mix4,
  Mix<T>? mix5,
  Mix<T>? mix6,
]) {
  final attributes = <T>[];
  final variants = <Variant<T>>[];
  if (mix1 != null) {
    attributes.addAll(mix1.attributes);
    variants.addAll(mix1.variantToApply);
  }

  if (mix2 != null) {
    attributes.addAll(mix2.attributes);
    variants.addAll(mix2.variantToApply);
  }

  if (mix3 != null) {
    attributes.addAll(mix3.attributes);
    variants.addAll(mix3.variantToApply);
  }

  if (mix4 != null) {
    attributes.addAll(mix4.attributes);
    variants.addAll(mix4.variantToApply);
  }

  if (mix5 != null) {
    attributes.addAll(mix5.attributes);
    variants.addAll(mix5.variantToApply);
  }

  if (mix6 != null) {
    attributes.addAll(mix6.attributes);
    variants.addAll(mix6.variantToApply);
  }

  return Mix._(attributes, variantToApply: variants);
}