# Config Options for typescript-fetch

Option | Description | Values | Default
--- | --- | --- | ---
allowUnicodeIdentifiers | boolean, toggles whether unicode identifiers are allowed in names or not, default is false |  | false
ensureUniqueParams | Whether to ensure parameter names are unique in an operation (rename parameters that are not). |  | true
enumNameSuffix | Suffix that will be appended to all enum names. A special 'v4-compat' value enables the backward-compatible behavior (as pre v4.2.3) |  | v4-compat
enumPropertyNaming | Naming convention for enum properties: 'camelCase', 'PascalCase', 'snake_case', 'UPPERCASE', and 'original' |  | PascalCase
modelPropertyNaming | Naming convention for the property: 'camelCase', 'PascalCase', 'snake_case' and 'original', which keeps the original name |  | camelCase
npmName | The name under which you want to publish generated npm package. Required to generate a full package |  | null
npmRepository | Use this property to set an url your private npmRepo in the package.json |  | null
npmVersion | The version of your npm package. If not provided, using the version from the OpenAPI specification file. |  | 1.0.0
nullSafeAdditionalProps | Set to make additional properties types declare that their indexer may return undefined |  | false
prefixParameterInterfaces | Setting this property to true will generate parameter interface declarations prefixed with API class name to avoid name conflicts. |  | false
prependFormOrBodyParameters | Add form or body parameters to the beginning of the parameter list. |  | false
snapshot | When setting this property to true, the version will be suffixed with -SNAPSHOT.yyyyMMddHHmm |  | false
sortModelPropertiesByRequiredFlag | Sort model properties to place required parameters before optional parameters. |  | true
sortParamsByRequiredFlag | Sort method arguments to place required parameters before optional parameters. |  | true
supportsES6 | Generate code that conforms to ES6. |  | false
typescriptThreePlus | Setting this property to true will generate TypeScript 3.6+ compatible code. |  | false
useSingleRequestParameter | Setting this property to true will generate functions with a single argument containing all API endpoint parameters instead of one argument per parameter. |  | true
withInterfaces | Setting this property to true will generate interfaces next to the default class implementations. |  | false

## #IMPORT MAPPING

Type/Alias | Imports
--- | ---

## #INSTANTIATION TYPES

Type/Alias | Instantiated By
--- | ---
array | Array

## #LANGUAGE PRIMITIVES

- Array
- Boolean
- Date
- Double
- Error
- File
- Float
- Integer
- Long
- Map
- Object
- ReadonlyArray
- String
- any
- boolean
- number
- object
- string

## #RESERVED WORDS

- ApiResponse
- BASE_PATH
- BaseAPI
- BlobApiResponse
- COLLECTION_FORMATS
- Configuration
- ConfigurationParameters
- FetchAPI
- FetchParams
- HTTPBody
- HTTPHeaders
- HTTPMethod
- HTTPQuery
- JSONApiResponse
- Middleware
- ModelPropertyNaming
- RequestContext
- RequestOpts
- RequiredError
- ResponseContext
- ResponseTransformer
- TextApiResponse
- VoidApiResponse
- abstract
- await
- boolean
- break
- byte
- case
- catch
- char
- class
- configuration
- const
- continue
- debugger
- default
- delete
- do
- double
- else
- enum
- exists
- export
- extends
- false
- final
- finally
- float
- for
- formParams
- function
- goto
- headerParams
- if
- implements
- import
- in
- instanceof
- int
- interface
- let
- long
- native
- new
- null
- package
- private
- protected
- public
- queryParameters
- requestOptions
- return
- short
- static
- super
- switch
- synchronized
- this
- throw
- transient
- true
- try
- typeof
- useFormData
- var
- varLocalDeferred
- varLocalPath
- void
- volatile
- while
- with
- yield

## #FEATURE SET

### #Client Modification Feature

Name | Supported | Defined By
--- | --- | ---
BasePath | ✓ | ToolingExtension
Authorizations | ✗ | ToolingExtension
UserAgent | ✗ | ToolingExtension

### #Data Type Feature

Name | Supported | Defined By
--- | --- | ---
Custom | ✗ | OAS2,OAS3
Int32 | ✓ | OAS2,OAS3
Int64 | ✓ | OAS2,OAS3
Float | ✓ | OAS2,OAS3
Double | ✓ | OAS2,OAS3
Decimal | ✓ | ToolingExtension
String | ✓ | OAS2,OAS3
Byte | ✓ | OAS2,OAS3
Binary | ✓ | OAS2,OAS3
Boolean | ✓ | OAS2,OAS3
Date | ✓ | OAS2,OAS3
DateTime | ✓ | OAS2,OAS3
Password | ✓ | OAS2,OAS3
File | ✓ | OAS2
Array | ✓ | OAS2,OAS3
Maps | ✓ | ToolingExtension
CollectionFormat | ✓ | OAS2
CollectionFormatMulti | ✓ | OAS2
Enum | ✓ | OAS2,OAS3
ArrayOfEnum | ✓ | ToolingExtension
ArrayOfModel | ✓ | ToolingExtension
ArrayOfCollectionOfPrimitives | ✓ | ToolingExtension
ArrayOfCollectionOfModel | ✓ | ToolingExtension
ArrayOfCollectionOfEnum | ✓ | ToolingExtension
MapOfEnum | ✓ | ToolingExtension
MapOfModel | ✓ | ToolingExtension
MapOfCollectionOfPrimitives | ✓ | ToolingExtension
MapOfCollectionOfModel | ✓ | ToolingExtension
MapOfCollectionOfEnum | ✓ | ToolingExtension

### #Documentation Feature

Name | Supported | Defined By
--- | --- | ---
Readme | ✓ | ToolingExtension
Model | ✓ | ToolingExtension
Api | ✓ | ToolingExtension

### #Global Feature

Name | Supported | Defined By
--- | --- | ---
Host | ✓ | OAS2,OAS3
BasePath | ✓ | OAS2,OAS3
Info | ✓ | OAS2,OAS3
Schemes | ✗ | OAS2,OAS3
PartialSchemes | ✓ | OAS2,OAS3
Consumes | ✓ | OAS2
Produces | ✓ | OAS2
ExternalDocumentation | ✓ | OAS2,OAS3
Examples | ✓ | OAS2,OAS3
XMLStructureDefinitions | ✗ | OAS2,OAS3
MultiServer | ✗ | OAS3
ParameterizedServer | ✗ | OAS3
ParameterStyling | ✗ | OAS3
Callbacks | ✗ | OAS3
LinkObjects | ✗ | OAS3

### #Parameter Feature

Name | Supported | Defined By
--- | --- | ---
Path | ✓ | OAS2,OAS3
Query | ✓ | OAS2,OAS3
Header | ✓ | OAS2,OAS3
Body | ✓ | OAS2
FormUnencoded | ✓ | OAS2
FormMultipart | ✓ | OAS2
Cookie | ✓ | OAS3

### #Schema Support Feature

Name | Supported | Defined By
--- | --- | ---
Simple | ✓ | OAS2,OAS3
Composite | ✓ | OAS2,OAS3
Polymorphism | ✓ | OAS2,OAS3
Union | ✗ | OAS3

### #Security Feature

Name | Supported | Defined By
--- | --- | ---
BasicAuth | ✗ | OAS2,OAS3
ApiKey | ✗ | OAS2,OAS3
OpenIDConnect | ✗ | OAS3
BearerToken | ✗ | OAS3
OAuth2_Implicit | ✗ | OAS2,OAS3
OAuth2_Password | ✗ | OAS2,OAS3
OAuth2_ClientCredentials | ✗ | OAS2,OAS3
OAuth2_AuthorizationCode | ✗ | OAS2,OAS3

### #Wire Format Feature

Name | Supported | Defined By
--- | --- | ---
JSON | ✓ | OAS2,OAS3
XML | ✓ | OAS2,OAS3
PROTOBUF | ✗ | ToolingExtension
Custom | ✗ | OAS2,OAS3

Edit this page
Last updated on 2020-4-2 by Jim Schubert

- IMPORT MAPPING
- INSTANTIATION TYPES
- LANGUAGE PRIMITIVES
- RESERVED WORDS
- FEATURE SET
  - Client Modification Feature
  - Data Type Feature
  - Documentation Feature
  - Global Feature
  - Parameter Feature
  - Schema Support Feature
  - Security Feature
  - Wire Format Feature