parseList method

GatewayEvent? parseList(
  1. String eventType,
  2. List data
)

Parses a dispatch eventType whose payload is a JSON array.

Returns null for unrecognized event types or when deserialization fails, so the caller can skip emitting an event.

Implementation

GatewayEvent? parseList(String eventType, List<dynamic> data) {
  try {
    return switch (eventType) {
      'WEBAUTHN_CREDENTIALS_UPDATE' => WebauthnCredentialsUpdateEvent(
        credentials: data
            .map(
              (e) => WebAuthnCredentialResponse.fromJson(
                (e as Map).cast<String, Object?>(),
              ),
            )
            .toList(),
      ),
      'USER_PINNED_DMS_UPDATE' => UserPinnedDmsUpdateEvent(
        pinnedDmChannelIds: data.map((dynamic id) => id.toString()).toList(),
      ),
      _ => null,
    };
  } catch (_) {
    return null;
  }
}