FVariants<K extends FVariantConstraint, E extends FVariant, V, D extends Delta>.from constructor

FVariants<K extends FVariantConstraint, E extends FVariant, V, D extends Delta>.from(
  1. V base, {
  2. required Map<List<K>, D> variants,
})

Creates an FVariants with variants derived from deltas applied to base.

Implementation

FVariants.from(this.base, {required Map<List<K>, D> variants})
  : variants = (() {
      final map = <K, V>{};
      for (final MapEntry(key: constraints, value: delta) in variants.entries) {
        final variant = delta(base) as V;
        for (final constraint in constraints) {
          map[constraint] = variant;
        }
      }

      return map;
    }());