From 5f32b81248906f2502b196b26be2a67456373c70 Mon Sep 17 00:00:00 2001 From: Guillaume Bernos Date: Mon, 14 Nov 2022 10:28:19 +0100 Subject: [PATCH] fix(database): cache the result of event.snapshot to be able to compare the value (#9899) --- .../firebase_database/lib/src/database_event.dart | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/firebase_database/firebase_database/lib/src/database_event.dart b/packages/firebase_database/firebase_database/lib/src/database_event.dart index 628aab476c09..f6b93ec23ca6 100644 --- a/packages/firebase_database/firebase_database/lib/src/database_event.dart +++ b/packages/firebase_database/firebase_database/lib/src/database_event.dart @@ -16,8 +16,12 @@ class DatabaseEvent { /// The type of event. DatabaseEventType get type => _delegate.type; + /// The cached [DataSnapshot] for the event. + DataSnapshot? _dataSnapshot; + /// The [DataSnapshot] for this event. - DataSnapshot get snapshot => DataSnapshot._(_delegate.snapshot); + DataSnapshot get snapshot => + _dataSnapshot ??= DataSnapshot._(_delegate.snapshot); /// A string containing the key of the previous sibling child by sort order, /// or null if it is the first child.