asEvent<T> method Null safety

Object asEvent<T>()

returns a StreamStatusEvent, RecordingStateEvent, SceneItemEvent, SceneItemStateEvent, StreamStateEvent object or an Exception if BaseEvent doesn't match the Type provided.

Implementation

Object asEvent<T>() {
  switch (T.toString()) {
    case 'StreamStatusEvent':
      return StreamStatusEvent.fromJson(rawEvent);

    case 'RecordingStateEvent':
      return RecordingStateEvent.fromJson(rawEvent, updateType);

    case 'SceneItemEvent':
      return SceneItemEvent.fromJson(rawEvent, updateType);

    case 'SceneItemStateEvent':
      return SceneItemStateEvent.fromJson(rawEvent, updateType);

    case 'StreamStateEvent':
      return StreamStateEvent.fromJson(rawEvent, updateType);
  }

  throw exception;
}