Map<String, dynamic>
asMap({String version: "2.0" })
Source
Map<String, dynamic> asMap({String version: "2.0"}) {
var m = <String, dynamic>{};
if (version.startsWith("2.")) {
m["swagger"] = version;
} else {
m["openapi"] = version;
}
m["info"] = info.asMap();
if (version.startsWith("2.")) {
if ((hosts?.length ?? 0) > 0) {
m["host"] = hosts.first.host;
}
} else {
m["hosts"] = hosts?.map((host) => host.asMap())?.toList();
}
m["consumes"] = consumes.map((ct) => ct.toString()).toList();
m["produces"] = produces.map((ct) => ct.toString()).toList();
m["security"] = securityRequirements.map((sec) => sec.name).toList();
m["paths"] = new Map.fromIterable(paths,
key: (APIPath k) => k.path, value: (APIPath v) => v.asMap());
var mappedSchemes = {};
securitySchemes?.forEach((k, scheme) {
mappedSchemes[k] = scheme.asMap();
});
m["securityDefinitions"] = mappedSchemes;
return _stripNullAndEmpty(m);
}