/// <summary> /// Initializes a new instance of the <see cref="OpenApiWriterBase"/> class. /// </summary> /// <param name="textWriter">The text writer.</param> /// <param name="settings">The writer settings.</param> public OpenApiWriterBase(TextWriter textWriter, OpenApiWriterSettings settings) { Writer = textWriter; Writer.NewLine = "\n"; this.scopes = new Stack <Scope>(); this.settings = settings; }
/// <summary> /// Initializes a new instance of the <see cref="EdmNavigationSourceGenerator" /> class. /// </summary> /// <param name="model">The Edm model.</param> /// <param name="settings">The Open Api writer settings.</param> public EdmNavigationSourceGenerator(IEdmModel model, OpenApiWriterSettings settings) : base(model, settings) { _boundOperations = new Dictionary <IEdmTypeReference, IEdmOperation>(); foreach (var edmOperation in model.SchemaElements.OfType <IEdmOperation>().Where(e => e.IsBound)) { IEdmOperationParameter bindingParameter = edmOperation.Parameters.First(); _boundOperations.Add(bindingParameter.Type, edmOperation); } }
/// <summary> /// Outputs an Open API artifact to the provided Open Api writer. /// </summary> /// <param name="model">Model to be written.</param> /// <param name="writer">The generated Open API writer <see cref="IOpenApiWriter"/>.</param> /// <param name="settings">Settings for the generated Open API.</param> public static void WriteOpenApi(this IEdmModel model, IOpenApiWriter writer, OpenApiWriterSettings settings = null) { if (model == null) { throw Error.ArgumentNull("model"); } if (writer == null) { throw Error.ArgumentNull("writer"); } if (settings == null) { settings = new OpenApiWriterSettings(); } EdmOpenApiDocumentGenerator converter = new EdmOpenApiDocumentGenerator(model, settings); OpenApiDocument doc = converter.Generate(); doc.Write(writer); }
public static OpenApiDocument ConvertTo(this IEdmModel model, OpenApiWriterSettings settings) { return(new EdmOpenApiDocumentGenerator(model, settings).Generate()); }
/// <summary> /// Initializes a new instance of the <see cref="EdmOpenApiPathsGenerator" /> class. /// </summary> /// <param name="model">The Edm model.</param> /// <param name="settings">The Open Api writer settings.</param> public EdmOpenApiPathsGenerator(IEdmModel model, OpenApiWriterSettings settings) : base(model, settings) { _nsGenerator = new EdmNavigationSourceGenerator(model, settings); }
/// <summary> /// Initializes a new instance of the <see cref="OpenApiYamlWriter"/> class. /// </summary> /// <param name="textWriter">The text writer.</param> /// <param name="settings">The writer settings.</param> public OpenApiYamlWriter(TextWriter textWriter, OpenApiWriterSettings settings) : base(textWriter, settings) { }
/// <summary> /// Initializes a new instance of the <see cref="EdmOpenApiDocumentGenerator" /> class. /// </summary> /// <param name="model">The Edm model.</param> /// <param name="settings">The Open Api writer settings.</param> public EdmOpenApiDocumentGenerator(IEdmModel model, OpenApiWriterSettings settings) : base(model, settings) { _componentsGenerator = new EdmOpenApiComponentsGenerator(model, settings); _pathsGenerator = new EdmOpenApiPathsGenerator(model, settings); }
/// <summary> /// Outputs Edm model to an Open API artifact to the give text writer. /// </summary> /// <param name="model">Edm model to be written.</param> /// <param name="writer">The output text writer.</param> /// <param name="target">The Open API target.</param> /// <param name="settings">Settings for the generated Open API.</param> public static void WriteOpenApi(this IEdmModel model, TextWriter writer, OpenApiTarget target, OpenApiWriterSettings settings = null) { if (model == null) { throw Error.ArgumentNull(nameof(model)); } if (writer == null) { throw Error.ArgumentNull(nameof(writer)); } IOpenApiWriter openApiWriter = BuildWriter(writer, target); model.WriteOpenApi(openApiWriter, settings); }
/// <summary> /// Initializes a new instance of the <see cref="EdmOpenApiComponentsGenerator" /> class. /// </summary> /// <param name="model">The Edm model.</param> /// <param name="settings">The Open Api writer settings.</param> public EdmOpenApiComponentsGenerator(IEdmModel model, OpenApiWriterSettings settings) : base(model, settings) { }