FVariantOperation<K extends FVariantConstraint, E extends FVariant, V, D extends Delta>.match constructor

FVariantOperation<K extends FVariantConstraint, E extends FVariant, V, D extends Delta>.match(
  1. Set<E> variants,
  2. D delta
)

Applies delta to existing variants whose constraint's variants are all present in variants.

// Given base: 0, {a: 1, b: 2, c: 3, a & b: 4, a & c: 5}
.match({a, b}, AddDelta(10)) // base: 0, {a: 11, b: 12, c: 3, a & b: 14, a & c: 5}

See also:

Implementation

FVariantOperation.match(Set<E> variants, D delta)
  : _call = ((base, existing) => .raw(base, {
      for (final MapEntry(key: constraint, :value) in existing.entries)
        constraint: constraint.satisfiedBy(variants) ? delta(value) as V : value,
    }));