toJson method

Map<String, dynamic> toJson()

Implementation

Map<String, dynamic> toJson() {
  final Map<String, dynamic> optionsMap = <String, dynamic>{};

  void addIfNonNull(String fieldName, dynamic value) {
    if (value != null) {
      optionsMap[fieldName] = value;
    }
  }

  addIfNonNull('originPoint', origin?.toJson());
  addIfNonNull('destinationPoint', destination?.toJson());
  addIfNonNull('originELoc', originELoc);
  addIfNonNull('destinationELoc', destinationELoc);
  if (waypoint != null) {
    optionsMap['waypointPoint'] =
        List.generate(waypoint!.length, (index) => waypoint![index].toJson());
  }
  addIfNonNull('profile', profile);
  addIfNonNull('resource', resource);
  addIfNonNull('overview', overview);
  addIfNonNull('geometries', geometries);
  addIfNonNull('waypointELoc', waypointELoc);
  addIfNonNull('excludes', excludes);
  addIfNonNull('annotations', annotations);
  addIfNonNull('routeType', routeType);
  addIfNonNull('steps', steps);
  addIfNonNull('alternatives', alternatives);
  addIfNonNull('approaches', approaches);
  addIfNonNull('bearing', bearing?.toJson());
  addIfNonNull('waypointIndices', waypointIndices);
  addIfNonNull('waypointNames', waypointNames);
  if (waypointTargets != null) {
    optionsMap['waypointTargets'] = List.generate(
        waypointTargets!.length, (index) => waypointTargets![index].toJson());
  }
  addIfNonNull('bannerInstructions', bannerInstructions);
  addIfNonNull('isSort', isSort);
  addIfNonNull('lessVerbose', lessVerbose);
  addIfNonNull('radiuses', radiuses);
  addIfNonNull('routeRefresh', routeRefresh);
  addIfNonNull('deviceId', deviceId);
  addIfNonNull('roundaboutExits', roundaboutExits);
  addIfNonNull('sessionId', sessionId);
  addIfNonNull('voiceInstructions', voiceInstructions);
  addIfNonNull('voiceUnits', voiceUnits);
  addIfNonNull('skipWaypoints', skipWaypoints);

  return optionsMap;
}