copyWith method

Token copyWith({
  1. String? accessToken,
  2. String? refreshToken,
  3. DateTime? expiresAt,
  4. List<String>? scopes,
  5. Map<String, dynamic>? metadata,
  6. String? subject,
  7. String? issuer,
  8. DateTime? issuedAt,
  9. bool clearRefreshToken = false,
  10. bool clearExpiresAt = false,
  11. bool clearSubject = false,
  12. bool clearIssuer = false,
  13. bool clearIssuedAt = false,
})

Returns a copy with the supplied fields replaced.

Use the clear* flags to explicitly null nullable fields — passing null for a nullable parameter means "no change".

Implementation

Token copyWith({
  String? accessToken,
  String? refreshToken,
  DateTime? expiresAt,
  List<String>? scopes,
  Map<String, dynamic>? metadata,
  String? subject,
  String? issuer,
  DateTime? issuedAt,
  bool clearRefreshToken = false,
  bool clearExpiresAt = false,
  bool clearSubject = false,
  bool clearIssuer = false,
  bool clearIssuedAt = false,
}) {
  return Token(
    accessToken: accessToken ?? this.accessToken,
    refreshToken:
        clearRefreshToken ? null : (refreshToken ?? this.refreshToken),
    expiresAt: clearExpiresAt ? null : (expiresAt ?? this.expiresAt),
    scopes: scopes ?? this.scopes,
    metadata: metadata ?? this.metadata,
    subject: clearSubject ? null : (subject ?? this.subject),
    issuer: clearIssuer ? null : (issuer ?? this.issuer),
    issuedAt: clearIssuedAt ? null : (issuedAt ?? this.issuedAt),
  );
}