Skip to content

[FR] Improvement: Change updateChildren parameter to Map<String, ?> #917

Open
@chrylis

Description

@chrylis

Is your feature request related to a problem? Please describe.
Various builders (e.g., Map.of) and language features (e.g., Groovy and Kotlin inline maps) create Map instances whose V bound is more strict than Object. Currently, the DatabaseRef#updateChildren[Async] interface won't accept these instances because it is defined as accepting Map<String, Object>.

Describe the solution you'd like
Since these method consume the map and do not modify it, they could be defined as Map<String, ?> to accept a map with any generic value type with no backwards incompatibility or other code changes.

Describe alternatives you've considered
Otherwise, passing in maps usually requires an explicit type declaration instead of var or an inline builder.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions