summaryrefslogtreecommitdiff
path: root/ThirdParty/CsvHelper-master/docs-src/CsvHelper.DocsGenerator/Generators
diff options
context:
space:
mode:
authorchai <215380520@qq.com>2023-05-12 09:24:40 +0800
committerchai <215380520@qq.com>2023-05-12 09:24:40 +0800
commit2a1cd4fda8a4a8e649910d16b4dfa1ce7ae63543 (patch)
treea471fafed72e80b4ac3ac3002e06c34220dd6058 /ThirdParty/CsvHelper-master/docs-src/CsvHelper.DocsGenerator/Generators
parentb8a694746562b37dc8dc5b8b5aec8612bb0964fc (diff)
*misc
Diffstat (limited to 'ThirdParty/CsvHelper-master/docs-src/CsvHelper.DocsGenerator/Generators')
-rw-r--r--ThirdParty/CsvHelper-master/docs-src/CsvHelper.DocsGenerator/Generators/AssemblyGenerator.cs22
-rw-r--r--ThirdParty/CsvHelper-master/docs-src/CsvHelper.DocsGenerator/Generators/DocumentGenerator.cs42
-rw-r--r--ThirdParty/CsvHelper-master/docs-src/CsvHelper.DocsGenerator/Generators/DocumentGeneratorFactory.cs22
-rw-r--r--ThirdParty/CsvHelper-master/docs-src/CsvHelper.DocsGenerator/Generators/NamespaceGenerator.cs50
-rw-r--r--ThirdParty/CsvHelper-master/docs-src/CsvHelper.DocsGenerator/Generators/TypeGenerator.cs118
5 files changed, 254 insertions, 0 deletions
diff --git a/ThirdParty/CsvHelper-master/docs-src/CsvHelper.DocsGenerator/Generators/AssemblyGenerator.cs b/ThirdParty/CsvHelper-master/docs-src/CsvHelper.DocsGenerator/Generators/AssemblyGenerator.cs
new file mode 100644
index 0000000..76c4749
--- /dev/null
+++ b/ThirdParty/CsvHelper-master/docs-src/CsvHelper.DocsGenerator/Generators/AssemblyGenerator.cs
@@ -0,0 +1,22 @@
+using CsvHelper.DocsGenerator.Infos;
+
+namespace CsvHelper.DocsGenerator.Generators
+{
+ public class AssemblyGenerator : DocumentGenerator
+ {
+ public AssemblyGenerator(AssemblyInfo assemblyInfo) : base(assemblyInfo) { }
+
+ protected override void GenerateContent()
+ {
+ content.AppendLine($"# {assemblyInfo.Assembly.GetName().Name} Namespaces");
+ content.AppendLine();
+ content.AppendLine("## Namespaces");
+ content.AppendLine("&nbsp; | &nbsp;");
+ content.AppendLine("- | -");
+ foreach (var @namespace in assemblyInfo.Namespaces)
+ {
+ content.AppendLine($"[{@namespace.Namespace}](/api/{@namespace.Namespace}) | ");
+ }
+ }
+ }
+}
diff --git a/ThirdParty/CsvHelper-master/docs-src/CsvHelper.DocsGenerator/Generators/DocumentGenerator.cs b/ThirdParty/CsvHelper-master/docs-src/CsvHelper.DocsGenerator/Generators/DocumentGenerator.cs
new file mode 100644
index 0000000..614e182
--- /dev/null
+++ b/ThirdParty/CsvHelper-master/docs-src/CsvHelper.DocsGenerator/Generators/DocumentGenerator.cs
@@ -0,0 +1,42 @@
+using CsvHelper.DocsGenerator.Infos;
+using System;
+using System.Text;
+
+namespace CsvHelper.DocsGenerator.Generators
+{
+ public abstract class DocumentGenerator
+ {
+ //protected readonly HtmlFormatter htmlFormatter = new HtmlFormatter();
+ protected readonly LinkGenerator linkGenerator = new LinkGenerator();
+ protected readonly AssemblyInfo assemblyInfo;
+ protected readonly NamespaceInfo namespaceInfo;
+ protected readonly TypeInfo typeInfo;
+ protected readonly StringBuilder content = new StringBuilder();
+
+ public DocumentGenerator(AssemblyInfo assemblyInfo)
+ {
+ this.assemblyInfo = assemblyInfo ?? throw new ArgumentNullException(nameof(assemblyInfo));
+ }
+
+ public DocumentGenerator(NamespaceInfo namespaceInfo)
+ {
+ this.namespaceInfo = namespaceInfo;
+ }
+
+ public DocumentGenerator(TypeInfo typeInfo)
+ {
+ this.typeInfo = typeInfo ?? throw new ArgumentNullException(nameof(typeInfo));
+ }
+
+ public string Generate()
+ {
+ content.Clear();
+
+ GenerateContent();
+
+ return content.ToString();
+ }
+
+ protected abstract void GenerateContent();
+ }
+}
diff --git a/ThirdParty/CsvHelper-master/docs-src/CsvHelper.DocsGenerator/Generators/DocumentGeneratorFactory.cs b/ThirdParty/CsvHelper-master/docs-src/CsvHelper.DocsGenerator/Generators/DocumentGeneratorFactory.cs
new file mode 100644
index 0000000..d9ece33
--- /dev/null
+++ b/ThirdParty/CsvHelper-master/docs-src/CsvHelper.DocsGenerator/Generators/DocumentGeneratorFactory.cs
@@ -0,0 +1,22 @@
+using CsvHelper.DocsGenerator.Infos;
+
+namespace CsvHelper.DocsGenerator.Generators
+{
+ public class DocumentGeneratorFactory
+ {
+ public DocumentGenerator Create(AssemblyInfo assemblyInfo)
+ {
+ return new AssemblyGenerator(assemblyInfo);
+ }
+
+ public DocumentGenerator Create(NamespaceInfo namespaceInfo)
+ {
+ return new NamespaceGenerator(namespaceInfo);
+ }
+
+ public DocumentGenerator Create(TypeInfo typeInfo)
+ {
+ return new TypeGenerator(typeInfo);
+ }
+ }
+}
diff --git a/ThirdParty/CsvHelper-master/docs-src/CsvHelper.DocsGenerator/Generators/NamespaceGenerator.cs b/ThirdParty/CsvHelper-master/docs-src/CsvHelper.DocsGenerator/Generators/NamespaceGenerator.cs
new file mode 100644
index 0000000..b3a9314
--- /dev/null
+++ b/ThirdParty/CsvHelper-master/docs-src/CsvHelper.DocsGenerator/Generators/NamespaceGenerator.cs
@@ -0,0 +1,50 @@
+using CsvHelper.DocsGenerator.Infos;
+
+namespace CsvHelper.DocsGenerator.Generators
+{
+ public class NamespaceGenerator : DocumentGenerator
+ {
+ public NamespaceGenerator(NamespaceInfo namespaceInfo) : base(namespaceInfo) { }
+
+ protected override void GenerateContent()
+ {
+ content.AppendLine($"# {namespaceInfo.Namespace} Namespace");
+
+ if (namespaceInfo.Classes.Count > 0)
+ {
+ content.AppendLine();
+ content.AppendLine("## Classes");
+ content.AppendLine("&nbsp; | &nbsp;");
+ content.AppendLine("- | -");
+ foreach (var typeInfo in namespaceInfo.Classes)
+ {
+ content.AppendLine($"[{typeInfo.Type.GetHtmlName()}](/api/{namespaceInfo.Namespace}/{typeInfo.Type.GetHtmlName()}) | {typeInfo.Type.GetSummary()}");
+ }
+ }
+
+ if (namespaceInfo.Interfaces.Count > 0)
+ {
+ content.AppendLine();
+ content.AppendLine("## Interfaces");
+ content.AppendLine("&nbsp; | &nbsp;");
+ content.AppendLine("- | -");
+ foreach (var typeInfo in namespaceInfo.Interfaces)
+ {
+ content.AppendLine($"[{typeInfo.Type.GetHtmlName()}](/api/{namespaceInfo.Namespace}/{typeInfo.Type.Name}) | {typeInfo.Type.GetSummary()}");
+ }
+ }
+
+ if (namespaceInfo.Enums.Count > 0)
+ {
+ content.AppendLine();
+ content.AppendLine("## Enums");
+ content.AppendLine("&nbsp; | &nbsp;");
+ content.AppendLine("- | -");
+ foreach (var typeInfo in namespaceInfo.Enums)
+ {
+ content.AppendLine($"[{typeInfo.Type.GetHtmlName()}](/api/{namespaceInfo.Namespace}/{typeInfo.Type.Name}) | {typeInfo.Type.GetSummary()}");
+ }
+ }
+ }
+ }
+}
diff --git a/ThirdParty/CsvHelper-master/docs-src/CsvHelper.DocsGenerator/Generators/TypeGenerator.cs b/ThirdParty/CsvHelper-master/docs-src/CsvHelper.DocsGenerator/Generators/TypeGenerator.cs
new file mode 100644
index 0000000..fa7533e
--- /dev/null
+++ b/ThirdParty/CsvHelper-master/docs-src/CsvHelper.DocsGenerator/Generators/TypeGenerator.cs
@@ -0,0 +1,118 @@
+using CsvHelper.DocsGenerator.Infos;
+using System.Linq;
+
+namespace CsvHelper.DocsGenerator.Generators
+{
+ public class TypeGenerator : DocumentGenerator
+ {
+ public TypeGenerator(TypeInfo typeInfo) : base(typeInfo) { }
+
+ protected override void GenerateContent()
+ {
+ // Title
+ content.AppendLine($"# {typeInfo.Type.GetHtmlName()} {typeInfo.Type.GetTypeName()}");
+
+ // Namespace
+ content.AppendLine();
+ content.AppendLine($"Namespace: [{typeInfo.Type.Namespace}](/api/{typeInfo.Type.Namespace})");
+
+ // Summary
+ content.AppendLine();
+ content.AppendLine(typeInfo.Type.GetSummary());
+
+ // Definition
+ content.AppendLine();
+ content.AppendLine("```cs");
+ foreach (var attribute in typeInfo.Attributes)
+ {
+ content.AppendLine($"[{attribute.GetFullCodeName()}]");
+ }
+
+ var inheritanceText = string.Empty;
+ if (!typeInfo.Type.IsEnum && typeInfo.Implementers.Count > 0)
+ {
+ inheritanceText = $": {string.Join(", ", typeInfo.Implementers.Select(i => i.GetCodeName()))}";
+ }
+
+ var typeModifier = string.Empty;
+ if (typeInfo.Type.IsAbstract && typeInfo.Type.IsSealed && !typeInfo.Type.IsInterface)
+ {
+ typeModifier = "static ";
+ }
+ else if (typeInfo.Type.IsAbstract && !typeInfo.Type.IsSealed && !typeInfo.Type.IsInterface)
+ {
+ typeModifier = "abstract ";
+ }
+
+ content.AppendLine($"public {typeModifier}{typeInfo.Type.GetTypeName().ToLower()} {typeInfo.Type.GetCodeName()} {inheritanceText}");
+ content.AppendLine("```");
+
+ // Inheritance
+ if (typeInfo.Inheritance.Count > 0)
+ {
+ content.AppendLine();
+ content.AppendLine($"Inheritance {string.Join(" -> ", typeInfo.Inheritance.Select(t => t.GetHtmlName()))}");
+ }
+
+ // Constructors
+ if (typeInfo.Constructors.Count > 0)
+ {
+ content.AppendLine("");
+ content.AppendLine("## Constructors");
+ content.AppendLine("&nbsp; | &nbsp;");
+ content.AppendLine("- | -");
+ foreach (var constructorInfo in typeInfo.Constructors)
+ {
+ content.AppendLine($"{constructorInfo.Constructor.GetHtmlName()} | {constructorInfo.Constructor.GetSummary()}");
+ }
+ }
+
+ // Fields
+ if (typeInfo.Fields.Count > 0)
+ {
+ content.AppendLine();
+ content.AppendLine("## Fields");
+ content.AppendLine("&nbsp; | &nbsp;");
+ content.AppendLine("- | -");
+ foreach (var field in typeInfo.Fields)
+ {
+ content.AppendLine($"{field.GetHtmlName()} | {field.GetSummary()}");
+ }
+ }
+
+ // Properties
+ if (typeInfo.Properties.Count > 0)
+ {
+ content.AppendLine();
+ content.AppendLine("## Properties");
+ content.AppendLine("&nbsp; | &nbsp;");
+ content.AppendLine("- | -");
+ foreach (var property in typeInfo.Properties)
+ {
+ if (property.IndexParameters.Count > 0)
+ {
+ var parameters = string.Join(", ", property.IndexParameters.Select(ip => ip.ParameterType.GetHtmlName()));
+ content.AppendLine($"this[{parameters}] | {property.Property.GetSummary()}");
+ }
+ else
+ {
+ content.AppendLine($"{property.Property.GetHtmlName()} | {property.Property.GetSummary()}");
+ }
+ }
+ }
+
+ // Methods
+ if (typeInfo.Methods.Count > 0)
+ {
+ content.AppendLine();
+ content.AppendLine("## Methods");
+ content.AppendLine("&nbsp; | &nbsp;");
+ content.AppendLine("- | -");
+ foreach (var method in typeInfo.Methods)
+ {
+ content.AppendLine($"{method.Method.GetHtmlName()} | {method.Method.GetSummary()}");
+ }
+ }
+ }
+ }
+}