Class OpenApiDocumentExtensions
- Namespace
- TypedRest.CodeGeneration.TypeScript
- Assembly
- TypedRest.CodeGeneration.TypeScript.dll
Generates TypeScript TypedRest clients for OpenAPI/Swagger documents.
public static class OpenApiDocumentExtensions
- Inheritance
-
objectOpenApiDocumentExtensions
Fields
IndexFileName
The name of the generated file re-exporting every other generated module.
public const string IndexFileName = "index.ts"
Field Value
Methods
GenerateTypeScriptDtos(OpenApiDocument, INamingStrategy, TypeNameRegistry?)
Generates TypeScript types for the schemas in doc.
public static IEnumerable<ITsType> GenerateTypeScriptDtos(this OpenApiDocument doc, INamingStrategy naming, TypeNameRegistry? typeNames = null)
Parameters
docOpenApiDocumentnamingINamingStrategytypeNamesTypeNameRegistry
Returns
GenerateTypedRestTypeScript(OpenApiDocument, TypeScriptGenerationOptions, IGenerationLog?, PatternRegistry?, BuilderRegistry?)
Generates the source files of a TypeScript TypedRest client for doc.
public static IEnumerable<IGeneratedFile> GenerateTypedRestTypeScript(this OpenApiDocument doc, TypeScriptGenerationOptions options, IGenerationLog? log = null, PatternRegistry? patterns = null, BuilderRegistry? builders = null)
Parameters
docOpenApiDocumentThe document describing the service.
optionsTypeScriptGenerationOptionsOptions controlling the generation.
logIGenerationLogCollects messages about aspects of the document that TypeScript cannot express.
patternsPatternRegistryControls what is inferred when the document has no
x-typedrestextension.buildersBuilderRegistryControls what code is emitted for each kind of endpoint.
Returns
GenerateTypedRestTypeScriptEndpoints(OpenApiDocument, INamingStrategy, Modules?, IGenerationLog?, PatternRegistry?, BuilderRegistry?, TypeNameRegistry?)
Generates the types of a TypeScript TypedRest client for doc, without the DTOs.
public static IEnumerable<ITsType> GenerateTypedRestTypeScriptEndpoints(this OpenApiDocument doc, INamingStrategy naming, Modules? modules = null, IGenerationLog? log = null, PatternRegistry? patterns = null, BuilderRegistry? builders = null, TypeNameRegistry? typeNames = null)
Parameters
docOpenApiDocumentnamingINamingStrategymodulesModuleslogIGenerationLogpatternsPatternRegistrybuildersBuilderRegistrytypeNamesTypeNameRegistry
Returns
ToFiles(IEnumerable<ITsType>, bool)
Groups types into one file per module, optionally followed by an index.ts re-exporting them all.
public static IEnumerable<IGeneratedFile> ToFiles(IEnumerable<ITsType> types, bool generateIndex = true)
Parameters
typesIEnumerable<ITsType>generateIndexbool