toJson method

Map<String, dynamic> toJson()

Convert the OpenApi object to a JSON spec representation

Implementation

Map<String, dynamic> toJson() {
  if (paths == null && components == null && webhooks == null) {
    throw Exception(
      '\n\nOpenAPI spec must contain at least one of the following: paths, components, or webhooks\n',
    );
  }

  Map<String, dynamic> out = {
    'openapi': version,
    'info': info.toJson(),
    'jsonSchemaDialect': jsonSchemaDialect,
    'externalDocs': externalDocs?.toJson(),
    'servers': servers?.map((e) => e.toJson()).toList(),
    'tags': tags?.map((e) => e.toJson()).toList(),
    'paths': paths?.map((k, v) => MapEntry(k, v.toJson())),
    'webhooks': webhooks?.map((k, v) => MapEntry(k, v.toJson())),
    'components': components?.toJson(),
    'security': security?.map((e) => e.toJson()).toList(),
  };
  return _formatSpecToJson(out);
}