parseActivity method
Implementation
Activity parseActivity(Map<String, Object?> raw) {
// No fields are validated server-side. Expect errors.
return Activity(
name: raw['name'] as String,
type: ActivityType.parse(raw['type'] as int),
url: tryParse(raw['url'], Uri.parse),
createdAt: tryParse(raw['created_at'], DateTime.fromMillisecondsSinceEpoch),
timestamps: tryParse(raw['timestamps'], parseActivityTimestamps),
applicationId: tryParse(raw['application_id'], Snowflake.parse),
details: tryParse(raw['details']),
state: tryParse(raw['state']),
emoji: tryParse(raw['emoji'], client.guilds[Snowflake.zero].emojis.parse),
party: tryParse(raw['party'], parseActivityParty),
assets: tryParse(raw['assets'], parseActivityAssets),
secrets: tryParse(raw['secrets'], parseActivitySecrets),
isInstance: tryParse(raw['instance']),
flags: tryParse(raw['flags'], ActivityFlags.new),
buttons: tryParseMany(raw['buttons'], parseActivityButton),
);
}