Skip to content

Commit 35cce5b

Browse files
feat(firebase_database): ServerValue.increment() now correctly accepts a num to support both integers and doubles. (#9101)
1 parent 519518c commit 35cce5b

File tree

3 files changed

+18
-1
lines changed

3 files changed

+18
-1
lines changed

packages/firebase_database/firebase_database/example/pubspec.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ dependency_overrides:
2222
path: ../../../firebase_core/firebase_core_web
2323
firebase_database:
2424
path: ../
25+
firebase_database_platform_interface:
26+
path: ../../firebase_database_platform_interface
2527
firebase_database_web:
2628
path: ../../firebase_database_web
2729

packages/firebase_database/firebase_database_platform_interface/lib/src/server_value.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ class ServerValue {
99

1010
/// Returns a placeholder value that can be used to atomically increment the
1111
/// current database value by the provided delta.
12-
static Map<dynamic, dynamic> increment(int delta) {
12+
static Map<dynamic, dynamic> increment(num delta) {
1313
return <dynamic, dynamic>{
1414
'.sv': {'increment': delta}
1515
};

tests/test_driver/firebase_database/database_reference_e2e.dart

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,21 @@ void setupDatabaseReferenceTests() {
147147
expect(value, isNotNull);
148148
expect(value['list'], data);
149149
});
150+
151+
test('Server.increment', () async {
152+
final FirebaseDatabase database = FirebaseDatabase.instance;
153+
final DatabaseReference ref = database.ref('tests/server-increment');
154+
await ref.set(ServerValue.increment(1.5));
155+
156+
final snap = await ref.get();
157+
var value = snap.value;
158+
expect(value, 1.5);
159+
160+
await ref.set(ServerValue.increment(1));
161+
final snap2 = await ref.get();
162+
var value2 = snap2.value;
163+
expect(value2, 2.5);
164+
});
150165
});
151166
});
152167
}

0 commit comments

Comments
 (0)