FVariantValueDeltaOperation<K extends FVariantConstraint, E extends FVariant, V, D extends Delta>.match constructor
FVariantValueDeltaOperation<K extends FVariantConstraint, E extends FVariant, V, D extends Delta>.match (
- Set<
E> variants, - V value
Replaces existing variants whose constraint's variants are all present in variants.
// Given {a: 1, b: 2, c: 3, a & b: 4, a & c: 5}
.match({a, b}, 10) // {a: 10, b: 10, c: 3, a & b: 10, a & c: 5}
See also:
- FVariantValueDeltaOperation.exact for setting exact constraint entries.
- FVariantValueDeltaOperation.base for replacing the base.
- FVariantValueDeltaOperation.variants for replacing all variants.
- FVariantValueDeltaOperation.all for replacing all variants and base.
Implementation
FVariantValueDeltaOperation.match(Set<E> variants, V value)
: _call = ((base, existing) => .raw(base, {
for (final MapEntry(key: constraint, value: v) in existing.entries)
constraint: constraint.satisfiedBy(variants) ? value : v,
}));