Example #1
0
        public static void WriteInfo(IParseNodeWriter writer, Info info)
        {
            writer.WriteStartMap();

            writer.WriteStringProperty("title", info.Title);
            writer.WriteStringProperty("description", info.Description);
            writer.WriteStringProperty("termsOfService", info.TermsOfService);
            writer.WriteObject("contact", info.Contact, WriteContact);
            writer.WriteObject("license", info.License, WriteLicense);
            writer.WriteStringProperty("version", info.Version);
            writer.WriteExtensions(info.Extensions);

            writer.WriteEndMap();
        }
Example #2
0
        public static void WriteResponse(IParseNodeWriter writer, Response response)
        {
            writer.WriteStartMap();

            writer.WriteStringProperty("description", response.Description);
            writer.WriteMap("content", response.Content, WriteMediaType);

            writer.WriteMap("headers", response.Headers, WriteHeaderOrReference);
            writer.WriteMap("links", response.Links, WriteLinkOrReference);

            writer.WriteExtensions(response.Extensions);

            //Links
            writer.WriteEndMap();
        }
Example #3
0
        void IModel.Write(IParseNodeWriter writer)
        {
            writer.WriteStartMap();

            writer.WriteMap("schemas", Schemas, ModelHelper.WriteFull);
            writer.WriteMap("responses", Responses, ModelHelper.WriteFull);
            writer.WriteMap("parameters", Parameters, ModelHelper.WriteFull);
            writer.WriteMap("examples", Examples, ModelHelper.WriteFull);
            writer.WriteMap("requestBodies", RequestBodies, ModelHelper.WriteFull);
            writer.WriteMap("headers", Headers, ModelHelper.WriteFull);
            writer.WriteMap("securitySchemes", SecuritySchemes, ModelHelper.WriteFull);
            writer.WriteMap("links", Links, ModelHelper.WriteFull);
            writer.WriteMap("callbacks", Callbacks, ModelHelper.WriteFull);

            writer.WriteEndMap();
        }
Example #4
0
        public static void WriteHeader(IParseNodeWriter writer, Header header)
        {
            writer.WriteStartMap();

            writer.WriteStringProperty("description", header.Description);
            writer.WriteBoolProperty("required", header.Required, false);
            writer.WriteBoolProperty("deprecated", header.Deprecated, false);
            writer.WriteBoolProperty("allowEmptyValue", header.AllowEmptyValue, false);
            writer.WriteStringProperty("style", header.Style);
            writer.WriteBoolProperty("explode", header.Explode, false);
            writer.WriteBoolProperty("allowReserved", header.AllowReserved, false);
            writer.WriteObject("schema", header.Schema, WriteSchema);
            writer.WriteList("examples", header.Examples, AnyNode.Write);
            writer.WriteObject("example", header.Example, AnyNode.Write);

            writer.WriteEndMap();
        }
Example #5
0
        void IModel.Write(IParseNodeWriter writer)
        {
            writer.WriteStartMap();
            writer.WriteStringProperty("description", Description);
            writer.WriteBoolProperty("required", Required, false);
            writer.WriteBoolProperty("deprecated", Deprecated, false);
            writer.WriteBoolProperty("allowEmptyValue", AllowEmptyValue, false);
            writer.WriteStringProperty("style", Style);
            writer.WriteBoolProperty("explode", Explode, false);
            writer.WriteBoolProperty("allowReserved", AllowReserved, false);
            writer.WriteObject("schema", Schema, ModelHelper.Write);
            writer.WriteList("examples", Examples, AnyNode.Write);
            writer.WriteObject("example", Example, AnyNode.Write);
            writer.WriteMap("content", Content, ModelHelper.Write);

            writer.WriteEndMap();
        }
Example #6
0
        public static void WriteComponents(IParseNodeWriter writer, Components components)
        {
            writer.WriteStartMap();

            writer.WriteMap("schemas", components.Schemas, WriteSchema);
            writer.WriteMap("responses", components.Responses, WriteResponse);
            writer.WriteMap("parameters", components.Parameters, WriteParameter);
            writer.WriteMap("examples", components.Examples, WriteExample);
            writer.WriteMap("requestBodies", components.RequestBodies, WriteRequestBody);
            writer.WriteMap("headers", components.Headers, WriteHeader);
            writer.WriteMap("securitySchemes", components.SecuritySchemes, WriteSecurityScheme);
            writer.WriteMap("links", components.Links, WriteLink);
            writer.WriteMap("callbacks", components.Callbacks, WriteCallback);
            writer.WriteExtensions(components.Extensions);

            writer.WriteEndMap();
        }
Example #7
0
        void IModel.Write(IParseNodeWriter writer)
        {
            writer.WriteStartMap();

            if (Enum.Count > 0)
            {
                writer.WritePropertyName("enum");
                writer.WriteStartList();
                foreach (var enumItem in Enum)
                {
                    writer.WriteValue(enumItem);
                }
                writer.WriteEndList();
            }
            writer.WriteStringProperty("default", Default);
            writer.WriteStringProperty("description", Description);

            writer.WriteEndMap();
        }
Example #8
0
        public static void WriteSecurityRequirement(IParseNodeWriter writer, SecurityRequirement securityRequirement)
        {
            writer.WriteStartMap();

            foreach (var scheme in securityRequirement.Schemes)
            {
                writer.WritePropertyName(scheme.Key.Pointer.TypeName);
                writer.WriteStartList();

                foreach (var scope in scheme.Value)
                {
                    writer.WriteValue(scope);
                }

                writer.WriteEndList();
            }

            writer.WriteEndMap();
        }
Example #9
0
 public static void WriteParameter(IParseNodeWriter writer, Parameter parameter)
 {
     writer.WriteStartMap();
     writer.WriteStringProperty("name", parameter.Name);
     writer.WriteStringProperty("in", parameter.In.ToString());
     writer.WriteStringProperty("description", parameter.Description);
     writer.WriteBoolProperty("required", parameter.Required, false);
     writer.WriteBoolProperty("deprecated", parameter.Deprecated, false);
     writer.WriteBoolProperty("allowEmptyValue", parameter.AllowEmptyValue, false);
     writer.WriteStringProperty("style", parameter.Style);
     writer.WriteBoolProperty("explode", parameter.Explode, false);
     writer.WriteBoolProperty("allowReserved", parameter.AllowReserved, false);
     writer.WriteObject("schema", parameter.Schema, WriteSchemaOrReference);
     writer.WriteList("examples", parameter.Examples, AnyNode.Write);
     writer.WriteObject("example", parameter.Example, AnyNode.Write);
     writer.WriteMap("content", parameter.Content, WriteMediaType);
     writer.WriteExtensions(parameter.Extensions);
     writer.WriteEndMap();
 }
Example #10
0
        void IModel.Write(IParseNodeWriter writer)
        {
            writer.WriteStartMap();
            writer.WriteList("tags", Tags, Tag.WriteRef);
            writer.WriteStringProperty("summary", Summary);
            writer.WriteStringProperty("description", Description);
            writer.WriteObject("externalDocs", ExternalDocs, ModelHelper.Write);

            writer.WriteStringProperty("operationId", OperationId);
            writer.WriteList <Parameter>("parameters", Parameters, ModelHelper.Write);
            writer.WriteObject("requestBody", RequestBody, ModelHelper.Write);
            writer.WriteMap <Response>("responses", Responses, ModelHelper.Write);
            writer.WriteMap <Callback>("callbacks", Callbacks, ModelHelper.Write);
            writer.WriteBoolProperty("deprecated", Deprecated, DeprecatedDefault);
            writer.WriteList("security", Security, ModelHelper.Write);
            writer.WriteList("servers", Servers, ModelHelper.Write);

            writer.WriteEndMap();
        }
Example #11
0
        public static void WriteOperation(IParseNodeWriter writer, Operation operation)
        {
            writer.WriteStartMap();
            writer.WriteList("tags", operation.Tags, Tag.WriteRef);
            writer.WriteStringProperty("summary", operation.Summary);
            writer.WriteStringProperty("description", operation.Description);
            writer.WriteObject("externalDocs", operation.ExternalDocs, WriteExternalDocs);

            writer.WriteStringProperty("operationId", operation.OperationId);
            writer.WriteList <Parameter>("parameters", operation.Parameters, WriteParameterOrReference);
            writer.WriteObject("requestBody", operation.RequestBody, WriteRequestBodyOrReference);
            writer.WriteMap <Response>("responses", operation.Responses, WriteResponseOrReference);
            writer.WriteMap <Callback>("callbacks", operation.Callbacks, WriteCallbackOrReference);
            writer.WriteBoolProperty("deprecated", operation.Deprecated, Operation.DeprecatedDefault);
            writer.WriteList("security", operation.Security, WriteSecurityRequirement);
            writer.WriteList("servers", operation.Servers, WriteServer);
            writer.WriteExtensions(operation.Extensions);

            writer.WriteEndMap();
        }
Example #12
0
 public static void WriteMap <T>(this IParseNodeWriter writer, string propertyName, IDictionary <string, T> list, Action <IParseNodeWriter, T> parser)
 {
     if (list != null && list.Count() > 0)
     {
         writer.WritePropertyName(propertyName);
         foreach (var item in list)
         {
             writer.WriteStartMap();
             writer.WritePropertyName(item.Key);
             if (item.Value != null)
             {
                 parser(writer, item.Value);
             }
             else
             {
                 writer.WriteNull();
             }
             writer.WriteEndMap();
         }
     }
 }
        void IModel.Write(IParseNodeWriter writer)
        {
            writer.WriteStartMap();
            writer.WriteStringProperty("type", this.Type);
            switch (this.Type)
            {
            case "http":
                writer.WriteStringProperty("scheme", this.Scheme);
                writer.WriteStringProperty("bearerFormat", this.BearerFormat);
                break;

            case "oauth2":
            //writer.WriteStringProperty("scheme", this.Scheme);
            case "apiKey":
                writer.WriteStringProperty("in", this.In);
                writer.WriteStringProperty("name", this.Name);

                break;
            }
            writer.WriteEndMap();
        }
Example #14
0
        public void Write(IParseNodeWriter writer)
        {
            writer.WriteStartMap();
            writer.WriteStringProperty("summary", Summary);
            writer.WriteStringProperty("description", Description);
            if (Parameters != null && Parameters.Count > 0)
            {
                writer.WritePropertyName("parameters");
                writer.WriteStartList();
                foreach (var parameter in this.Parameters)
                {
                    ModelHelper.Write(writer, parameter);
                }
                writer.WriteEndList();
            }
            writer.WriteList("servers", Servers, ModelHelper.Write);

            foreach (var operationPair in Operations)
            {
                writer.WritePropertyName(operationPair.Key);
                ModelHelper.Write(writer, operationPair.Value);
            }
            writer.WriteEndMap();
        }
Example #15
0
        public static void WritePathItem(IParseNodeWriter writer, PathItem pathItem)
        {
            writer.WriteStartMap();
            writer.WriteStringProperty("x-summary", pathItem.Summary);
            writer.WriteStringProperty("x-description", pathItem.Description);
            if (pathItem.Parameters != null && pathItem.Parameters.Count > 0)
            {
                writer.WritePropertyName("parameters");
                writer.WriteStartList();
                foreach (var parameter in pathItem.Parameters)
                {
                    WriteParameter(writer, parameter);
                }
                writer.WriteEndList();
            }
            //writer.WriteList("x-servers", pathItem.Servers, WriteServer);

            foreach (var operationPair in pathItem.Operations)
            {
                writer.WritePropertyName(operationPair.Key);
                WriteOperation(writer, operationPair.Value);
            }
            writer.WriteEndMap();
        }
Example #16
0
        public static void WriteSecurityScheme(IParseNodeWriter writer, SecurityScheme securityScheme)
        {
            writer.WriteStartMap();
            writer.WriteStringProperty("type", securityScheme.Type);
            switch (securityScheme.Type)
            {
            case "http":
                writer.WriteStringProperty("scheme", securityScheme.Scheme);
                writer.WriteStringProperty("bearerFormat", securityScheme.BearerFormat);
                break;

            case "oauth2":
            //writer.WriteStringProperty("scheme", this.Scheme);
            //TODO:
            case "apiKey":
                writer.WriteStringProperty("in", securityScheme.In);
                writer.WriteStringProperty("name", securityScheme.Name);

                break;
            }
            writer.WriteExtensions(securityScheme.Extensions);

            writer.WriteEndMap();
        }
        void IModel.Write(IParseNodeWriter writer)
        {
            writer.WriteStartMap();

            foreach (var scheme in Schemes)
            {
                writer.WritePropertyName(scheme.Key.Pointer.TypeName);
                if (scheme.Value.Count > 0)
                {
                    writer.WriteStartList();
                    foreach (var scope in scheme.Value)
                    {
                        writer.WriteValue(scope);
                    }
                    writer.WriteEndList();
                }
                else
                {
                    writer.WriteValue("[]");
                }
            }

            writer.WriteEndMap();
        }
Example #18
0
        public static void WriteSchema(IParseNodeWriter writer, Schema schema)
        {
            writer.WriteStartMap();

            writer.WriteStringProperty("title", schema.Title);
            writer.WriteStringProperty("type", schema.Type);
            writer.WriteStringProperty("format", schema.Format);
            writer.WriteStringProperty("description", schema.Description);

            writer.WriteNumberProperty("maxLength", schema.MaxLength);
            writer.WriteNumberProperty("minLength", schema.MinLength);
            writer.WriteStringProperty("pattern", schema.Pattern);
            writer.WriteStringProperty("default", schema.Default);

            writer.WriteList("required", schema.Required, (nodeWriter, s) => nodeWriter.WriteValue(s));

            writer.WriteNumberProperty("maximum", schema.Maximum);
            writer.WriteBoolProperty("exclusiveMaximum", schema.ExclusiveMaximum, false);
            writer.WriteNumberProperty("minimum", schema.Minimum);
            writer.WriteBoolProperty("exclusiveMinimum", schema.ExclusiveMinimum, false);

            if (schema.AdditionalProperties != null)
            {
                writer.WritePropertyName("additionalProperties");
                WriteSchemaOrReference(writer, schema.AdditionalProperties);
            }

            if (schema.Items != null)
            {
                writer.WritePropertyName("items");
                WriteSchemaOrReference(writer, schema.Items);
            }
            writer.WriteNumberProperty("maxItems", schema.MaxItems);
            writer.WriteNumberProperty("minItems", schema.MinItems);

            if (schema.Properties != null)
            {
                writer.WritePropertyName("properties");
                writer.WriteStartMap();
                foreach (var prop in schema.Properties)
                {
                    writer.WritePropertyName(prop.Key);
                    if (prop.Value != null)
                    {
                        WriteSchemaOrReference(writer, prop.Value);
                    }
                    else
                    {
                        writer.WriteValue("null");
                    }
                }
                writer.WriteEndMap();
            }
            writer.WriteNumberProperty("maxProperties", schema.MaxProperties);
            writer.WriteNumberProperty("minProperties", schema.MinProperties);

            writer.WriteList("enum", schema.Enum, (nodeWriter, s) => nodeWriter.WriteValue(s));

            writer.WriteExtensions(schema.Extensions);

            writer.WriteEndMap();
        }
Example #19
0
        void IModel.Write(IParseNodeWriter writer)
        {
            writer.WriteStartMap();

            writer.WriteStringProperty("title", Title);
            writer.WriteStringProperty("type", Type);
            writer.WriteStringProperty("format", Format);
            writer.WriteStringProperty("description", Description);

            writer.WriteNumberProperty("maxLength", MaxLength);
            writer.WriteNumberProperty("minLength", MinLength);
            writer.WriteStringProperty("pattern", Pattern);
            writer.WriteStringProperty("default", Default);

            if (Required != null && Required.Length > 0)
            {
                writer.WritePropertyName("required");
                writer.WriteStartList();
                foreach (var name in Required)
                {
                    writer.WriteValue(name);
                }
                writer.WriteEndList();
            }

            writer.WriteNumberProperty("maximum", Maximum);
            writer.WriteBoolProperty("exclusiveMaximum", ExclusiveMaximum, false);
            writer.WriteNumberProperty("minimum", Minimum);
            writer.WriteBoolProperty("exclusiveMinimum", ExclusiveMinimum, false);

            if (Items != null)
            {
                writer.WritePropertyName("items");
                ModelHelper.Write(writer, Items);
            }
            writer.WriteNumberProperty("maxItems", MaxItems);
            writer.WriteNumberProperty("minItems", MinItems);

            if (Properties != null)
            {
                writer.WritePropertyName("properties");
                writer.WriteStartMap();
                foreach (var prop in Properties)
                {
                    writer.WritePropertyName(prop.Key);
                    if (prop.Value != null)
                    {
                        ModelHelper.Write(writer, prop.Value);
                    }
                    else
                    {
                        writer.WriteValue("null");
                    }
                }
                writer.WriteEndMap();
            }
            writer.WriteNumberProperty("maxProperties", MaxProperties);
            writer.WriteNumberProperty("minProperties", MinProperties);



            if (Enum.Count > 0)
            {
                writer.WritePropertyName("enum");
                writer.WriteStartList();
                foreach (var item in Enum)
                {
                    writer.WriteValue(item);
                }
                writer.WriteEndList();
            }
            writer.WriteEndMap();
        }
Example #20
0
 void IModel.Write(IParseNodeWriter writer)
 {
     writer.WriteStartMap();
     writer.WriteEndMap();
 }
Example #21
0
 public static void WriteRef(this IReference reference, IParseNodeWriter writer)
 {
     writer.WriteStartMap();
     writer.WriteStringProperty("$ref", reference.Pointer.ToString());
     writer.WriteEndMap();
 }