@@ -18,7 +18,7 @@ part of '../app.dart';
1818///
1919/// Only [credential] is required. All other fields are optional and will be
2020/// auto-discovered or use defaults when not provided.
21- class AppOptions extends Equatable {
21+ class AppOptions {
2222 const AppOptions ({
2323 this .credential,
2424 this .projectId,
@@ -135,13 +135,25 @@ class AppOptions extends Equatable {
135135 final Map <String , dynamic >? databaseAuthVariableOverride;
136136
137137 @override
138- List <Object ?> get props => [
139- // Exclude credential and httpClient from comparison
140- // (they're instances that can't be meaningfully compared)
138+ bool operator == (Object other) =>
139+ identical (this , other) ||
140+ other is AppOptions &&
141+ runtimeType == other.runtimeType &&
142+ projectId == other.projectId &&
143+ databaseURL == other.databaseURL &&
144+ storageBucket == other.storageBucket &&
145+ serviceAccountId == other.serviceAccountId &&
146+ const MapEquality <String , dynamic >().equals (
147+ databaseAuthVariableOverride,
148+ other.databaseAuthVariableOverride,
149+ );
150+
151+ @override
152+ int get hashCode => Object .hash (
141153 projectId,
142154 databaseURL,
143155 storageBucket,
144156 serviceAccountId,
145- databaseAuthVariableOverride,
146- ] ;
157+ const MapEquality < String , dynamic >(). hash ( databaseAuthVariableOverride) ,
158+ ) ;
147159}
0 commit comments