FVariantOperation<K extends FVariantConstraint, E extends FVariant, V, D extends Delta>.exact constructor
FVariantOperation<K extends FVariantConstraint, E extends FVariant, V, D extends Delta>.exact (
- Set<
K> constraints, - D delta
Applies delta to the base and associates the result with each constraint in constraints.
Unlike FVariantOperation.match, this creates exact entries rather than matching existing variants.
// Given base: 0, {a: 1, b: 1}
.exact({b, c}, AddDelta(2)) // {a: 1, b: 3, c: 2}
See also:
- FVariantOperation.match for applying to variants whose constraint's variants are all present.
- FVariantOperation.base for applying to the base.
- FVariantOperation.variants for applying to all variants.
- FVariantOperation.all for applying to all variants and base.
Implementation
FVariantOperation.exact(Set<K> constraints, D delta)
: _call = ((base, existing) => .raw(base, {
...existing,
for (final constraint in constraints) constraint: delta(existing[constraint] ?? base) as V,
}));