OptimizationApiResponse.fromJson constructor

OptimizationApiResponse.fromJson(
  1. Map<String, dynamic> json
)

Implementation

OptimizationApiResponse.fromJson(Map<String, dynamic> json) {
  code = json['code'] as String?;
  uuid = json['uuid'] as String?;

  switch (code) {
    case 'NoTrips':
      error = NavigationNoTripsError();
      break;
    case 'NotImplemented':
      error = NavigationNotImplementedError();
      break;
    case 'NoSegment':
      error = NavigationNoSegmentError();
      break;
    case 'ProfileNotFound':
      error = NavigationProfileNotFoundError();
      break;
    case 'InvalidInput':
      error = NavigationInvalidInputError();
      break;
  }

  if (json.containsKey('waypoints') && json['waypoints'] != null) {
    waypoints = List<NavigationOptimizedWaypoint>.from(
      (json['waypoints'] as List<dynamic>).map(
        (waypoint) => NavigationOptimizedWaypoint.fromJson(
          waypoint as Map<String, dynamic>,
        ),
      ),
    );
  }

  if (json.containsKey('trips') && json['trips'] != null) {
    trips = List<NavigationRoute>.from(
      (json['trips'] as List<dynamic>).map(
        (trip) => NavigationRoute.fromJson(
          trip as Map<String, dynamic>,
        ),
      ),
    );
  }
}