Skip to content

options โ€‹

Type: object | Required

Object containing various options to customize the code generation process.

Usage โ€‹

typescript
// openapi.config.ts
import { GeneratorConfig } from 'ng-openapi';

const config: GeneratorConfig = {
  options: {
    dateType: 'Date',
    enumStyle: 'enum',
    generateServices: true,
    generateEnumBasedOnDescription: false,
    customHeaders: {
      'Accept': 'application/json',
      ... // other headers
    },
    responseTypeMapping: {
      'application/pdf': 'blob',
      ... // other mappings
    },
    ... // other configurations
  }
};

export default config;

Options at a Glance โ€‹

OptionTypeRequiredDefaultDescription
dateType'string' | 'Date'โœ…โ€”How date/date-time fields are typed (and whether the date interceptor is generated)
enumStyle'enum' | 'union'โœ…โ€”Emit TypeScript enums or literal-union types
generateServicesbooleanโ€”trueSet false to generate models only
validation{ response?: boolean }โ€”undefinedAdds a parse hook to service methods for runtime response validation
generateEnumBasedOnDescriptionbooleanโ€”falseRead enum member names from JSON-encoded descriptions
customHeadersRecord<string, string>โ€”undefinedDefault headers added to every request
emitAcceptHeaderbooleanโ€”trueSend an Accept header derived from each operation's response content types
responseTypeMappingRecord<string, ResponseType>โ€”undefinedPin the Angular responseType per content type
customizeMethodName(operationId) => stringโ€”undefinedDerive method names from operationIds
useSingleRequestParameterbooleanโ€”falseOne request object per method instead of positional parameters
serviceDecorator'injectable' | 'service'โ€”'injectable'Emit Angular 22+'s @Service() instead of @Injectable({ providedIn: 'root' })
namingNamingOptionsโ€”undefinedPrefix/suffix decoration of generated service, resource and model identifiers
modelFileStructure'single' | 'per-type'โ€”'single'Keep all models in one models/index.ts or write one file per schema

Released under the MIT License.
This site is powered by Netlify
About ยท Impressum