parse method
override
Parse the raw
data received from the API into an instance of the type of this manager.
Implementation
@override
Member parse(Map<String, Object?> raw, {Snowflake? userId}) {
return Member(
id: maybeParse((raw['user'] as Map<String, Object?>?)?['id'], Snowflake.parse) ?? userId ?? Snowflake.zero,
manager: this,
user: maybeParse(raw['user'], client.users.parse),
nick: raw['nick'] as String?,
avatarHash: raw['avatar'] as String?,
roleIds: parseMany(raw['roles'] as List, Snowflake.parse),
joinedAt: DateTime.parse(raw['joined_at'] as String),
premiumSince: maybeParse(raw['premium_since'], DateTime.parse),
isDeaf: raw['deaf'] as bool?,
isMute: raw['mute'] as bool?,
flags: MemberFlags(raw['flags'] as int),
isPending: raw['pending'] as bool? ?? false,
permissions: maybeParse(raw['permissions'], (String raw) => Permissions(int.parse(raw))),
communicationDisabledUntil: maybeParse(raw['communication_disabled_until'], DateTime.parse),
);
}