merge method
Merges this
rules with other
rules.
Implementation
@override
EntityAccessRules merge(EntityAccessRules? other) {
if (other == null || other.isInnocuous || identical(this, other)) {
return isInnocuous ? innocuous : this;
} else if (isInnocuous) {
return other;
}
var a = simplified();
var b = other.simplified();
var rulesA = a.rules;
var rulesB = b.rules;
var listA = rulesA != null && rulesA.isNotEmpty && a.entityType == null
? rulesA
: [a];
var listB = rulesB != null && rulesB.isNotEmpty && b.entityType == null
? rulesB
: [b];
var allRules = [...listA, ...listB];
return EntityAccessRules.group(allRules);
}