toOriginalEvent method

dynamic toOriginalEvent()

Converts the pending event back to the original event

Implementation

dynamic toOriginalEvent() {
  switch (eventType) {
    case PendingEventType.track:
      return TrackEvent(
        eventName: eventData['eventName'] as String,
        properties: Map<String, dynamic>.from(eventData['properties'] ?? {}),
        eventType: EventType.values.firstWhere(
          (e) => e.toString() == eventData['eventType'],
          orElse: () => EventType.track,
        ),
      );
    case PendingEventType.identify:
      return IdentifyEvent(
        customID: eventData['customID'] as String,
        properties: Map<String, dynamic>.from(eventData['properties'] ?? {}),
      );
    case PendingEventType.pageView:
      return PageViewEvent(
        navigationType: eventData['navigationType'] as String,
        toRoute: eventData['toRoute'] != null
            ? RouteSettings(name: eventData['toRoute'] as String)
            : null,
        previousRoute: eventData['previousRoute'] != null
            ? RouteSettings(name: eventData['previousRoute'] as String)
            : null,
      );
  }
}