From 06ffe369fc18c07f65501617dfe1efb09a7dedc9 Mon Sep 17 00:00:00 2001 From: tylandercasper <5085108+tylandercasper@users.noreply.github.com> Date: Sun, 5 Jan 2025 13:47:07 -0600 Subject: [PATCH 1/2] ObservableList is equatable to originalList --- lib/src/async/observable_list.dart | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/lib/src/async/observable_list.dart b/lib/src/async/observable_list.dart index 593bf30..a0da268 100644 --- a/lib/src/async/observable_list.dart +++ b/lib/src/async/observable_list.dart @@ -119,6 +119,21 @@ class ObservableList extends ListBase _list.length = value; } + @override + bool operator ==(Object other) { + if (other is ObservableList) { + return _list == other._list; + } else if (other is List) { + return _list == other; + } + return false; + } + + @override + int get hashCode { + return _list.hashCode; + } + @override E operator [](int index) => _list[index]; From 18daa65264254eb7cfbd825a97425d242de28a35 Mon Sep 17 00:00:00 2001 From: tylandercasper <5085108+tylandercasper@users.noreply.github.com> Date: Sun, 5 Jan 2025 13:48:31 -0600 Subject: [PATCH 2/2] ObservableMap is equivalent to original Map --- lib/src/async/observable_map.dart | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/lib/src/async/observable_map.dart b/lib/src/async/observable_map.dart index 7e0be98..21ea9bd 100644 --- a/lib/src/async/observable_map.dart +++ b/lib/src/async/observable_map.dart @@ -108,6 +108,21 @@ class ObservableMap @override bool containsKey(Object? key) => _map.containsKey(key); + @override + bool operator ==(Object other) { + if (other is ObservableMap) { + return _map == other._map; + } else if (other is Map) { + return _map == other; + } + return false; + } + + @override + int get hashCode { + return _map.hashCode; + } + @override V? operator [](Object? key) => _map[key];