copyWith method

CurrentUser copyWith({
  1. String? uid,
  2. String? name,
  3. String? avatar,
  4. String? link,
  5. String? role,
  6. String? status,
  7. String? statusMessage,
  8. DateTime? lastActiveAt,
  9. List<String>? tags,
  10. Map<String, dynamic>? metadata,
  11. bool? hasBlockedMe,
  12. bool? blockedByMe,
  13. DateTime? deactivatedAt,
  14. String? authToken,
  15. String? identity,
  16. String? secret,
  17. String? jwt,
  18. String? fat,
})

Creates a copy with updated fields.

Android Reference: Setters in CurrentUser.java

This method allows creating a new instance with some fields updated while keeping the original instance unchanged (immutability pattern).

Implementation

CurrentUser copyWith({
  String? uid,
  String? name,
  String? avatar,
  String? link,
  String? role,
  String? status,
  String? statusMessage,
  DateTime? lastActiveAt,
  List<String>? tags,
  Map<String, dynamic>? metadata,
  bool? hasBlockedMe,
  bool? blockedByMe,
  DateTime? deactivatedAt,
  String? authToken,
  String? identity,
  String? secret,
  String? jwt,
  String? fat,
}) {
  return CurrentUser(
    uid: uid ?? this.uid,
    name: name ?? this.name,
    avatar: avatar ?? this.avatar,
    link: link ?? this.link,
    role: role ?? this.role,
    status: status ?? this.status,
    statusMessage: statusMessage ?? this.statusMessage,
    lastActiveAt: lastActiveAt ?? this.lastActiveAt,
    tags: tags ?? this.tags,
    metadata: metadata ?? this.metadata,
    hasBlockedMe: hasBlockedMe ?? this.hasBlockedMe,
    blockedByMe: blockedByMe ?? this.blockedByMe,
    deactivatedAt: deactivatedAt ?? this.deactivatedAt,
    authToken: authToken ?? this.authToken,
    identity: identity ?? this.identity,
    secret: secret ?? this.secret,
    jwt: jwt ?? this.jwt,
    fat: fat ?? this.fat,
  );
}