Token.fromJson constructor
Reconstructs a Token from its toJson form.
Throws if json is missing required fields or has unexpected types.
Use fromJsonOrNull when the input is untrusted.
Implementation
factory Token.fromJson(Map<String, dynamic> json) {
final rawScopes = json['scopes'];
final scopes = rawScopes is List
? List<String>.unmodifiable(rawScopes.map((e) => e as String))
: const <String>[];
final rawExpires = json['expiresAt'];
final rawMetadata = json['metadata'];
final metadata = rawMetadata is Map<String, dynamic>
? Map<String, dynamic>.unmodifiable(rawMetadata)
: const <String, dynamic>{};
return Token(
accessToken: json['accessToken'] as String,
refreshToken: json['refreshToken'] as String?,
expiresAt:
rawExpires == null ? null : DateTime.parse(rawExpires as String),
scopes: scopes,
metadata: metadata,
);
}