Table of Contents

Class OpenApiDocumentExtensions

Namespace
TypedRest.CodeGeneration.TypeScript
Assembly
TypedRest.CodeGeneration.TypeScript.dll

Generates TypeScript TypedRest clients for OpenAPI/Swagger documents.

public static class OpenApiDocumentExtensions
Inheritance
object
OpenApiDocumentExtensions

Fields

IndexFileName

The name of the generated file re-exporting every other generated module.

public const string IndexFileName = "index.ts"

Field Value

string

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

doc OpenApiDocument
naming INamingStrategy
typeNames TypeNameRegistry

Returns

IEnumerable<ITsType>

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

doc OpenApiDocument

The document describing the service.

options TypeScriptGenerationOptions

Options controlling the generation.

log IGenerationLog

Collects messages about aspects of the document that TypeScript cannot express.

patterns PatternRegistry

Controls what is inferred when the document has no x-typedrest extension.

builders BuilderRegistry

Controls what code is emitted for each kind of endpoint.

Returns

IEnumerable<IGeneratedFile>

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

doc OpenApiDocument
naming INamingStrategy
modules Modules
log IGenerationLog
patterns PatternRegistry
builders BuilderRegistry
typeNames TypeNameRegistry

Returns

IEnumerable<ITsType>

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

types IEnumerable<ITsType>
generateIndex bool

Returns

IEnumerable<IGeneratedFile>