diff --git a/lib/src/kee_vault_model/browser_entry_settings.dart b/lib/src/kee_vault_model/browser_entry_settings.dart index 94137c0..d5e15a1 100644 --- a/lib/src/kee_vault_model/browser_entry_settings.dart +++ b/lib/src/kee_vault_model/browser_entry_settings.dart @@ -208,7 +208,7 @@ class BrowserEntrySettings { behaviour.hashCode ^ authenticationMethods.hashCode ^ realm.hashCode ^ - matcherConfigs.hashCode ^ + const ListEquality().hash(matcherConfigs) ^ //TODO: all other lists? includeUrls.hashCode ^ excludeUrls.hashCode ^ fields.hashCode; diff --git a/lib/src/kee_vault_model/field_matcher.dart b/lib/src/kee_vault_model/field_matcher.dart index b165696..eee86c6 100644 --- a/lib/src/kee_vault_model/field_matcher.dart +++ b/lib/src/kee_vault_model/field_matcher.dart @@ -88,16 +88,16 @@ class FieldMatcher { @override bool operator ==(Object other) { if (identical(this, other)) return true; - final listEquals = const DeepCollectionEquality().equals; + final unOrdDeepEq = const DeepCollectionEquality.unordered().equals; return other is FieldMatcher && other.matchLogic == matchLogic && - listEquals(other.ids, ids) && - listEquals(other.names, names) && - listEquals(other.types, types) && - listEquals(other.queries, queries) && - listEquals(other.labels, labels) && - listEquals(other.autocompleteValues, autocompleteValues) && + unOrdDeepEq(other.ids, ids) && + unOrdDeepEq(other.names, names) && + unOrdDeepEq(other.types, types) && + unOrdDeepEq(other.queries, queries) && + unOrdDeepEq(other.labels, labels) && + unOrdDeepEq(other.autocompleteValues, autocompleteValues) && other.maxLength == maxLength && other.minLength == minLength; }