AIAssistantBaseEvent.fromMap constructor

AIAssistantBaseEvent.fromMap(
  1. Map<String, dynamic> map
)

Creates a new instance from a map

Implementation

factory AIAssistantBaseEvent.fromMap(Map<String, dynamic> map) {
  if (map.isEmpty) {
    throw ArgumentError('The AI Assistant base event map is empty');
  }

  // If the 'type' key is actually a map, unwrap it
  if (map['type'] is Map) {
    map = Map<String, dynamic>.from(map['type']);
  }

  return AIAssistantBaseEvent(
    id: map['id'] is int ? map['id'] : int.tryParse(map['id']?.toString() ?? ''),
    type: map['type'] is String ? map['type'] : map['type']?.toString(),
    conversationId: map['conversationId'] is String ? map['conversationId'] : map['conversationId']?.toString(),
    parentId: map['parentId'] is String ? map['parentId'] : map['parentId']?.toString(),
    additionalProperties: map['additionalProperties'] is Map
        ? Map<String, dynamic>.from(map['additionalProperties'])
        : {},
  );
}