toJson method

Map<String, Object?> toJson()

Implementation

Map<String, Object?> toJson() {
  final json = <String, Object?>{
    'name': name,
    'runOnNull': runOnNull,
    'isDynamic': isDynamic,
  };

  if (message != null) {
    json['message'] = message;
  }

  if (dynamicReason != null) {
    json['dynamicReason'] = dynamicReason;
  }

  if (parameters.isNotEmpty) {
    json['parameters'] = _sortObjectMap(parameters);
  }

  if (nestedSchemas.isNotEmpty) {
    final keys = nestedSchemas.keys.toList()..sort();
    final sorted = <String, Map<String, Object?>>{};

    for (final key in keys) {
      sorted[key] = nestedSchemas[key]!;
    }

    json['nestedSchemas'] = sorted;
  }

  return json;
}