public class TypeScriptClientCodegen extends DefaultCodegen implements CodegenConfig
| Modifier and Type | Field and Description |
|---|---|
protected HashSet<String> |
languageGenericTypes |
protected String |
modelPropertyNaming |
protected String |
npmName |
protected String |
npmRepository |
protected String |
npmVersion |
protected String |
snapshot |
protected static ThreadLocal<SimpleDateFormat> |
SNAPSHOT_SUFFIX_FORMAT |
additionalProperties, addOneOfInterfaceImports, addOneOfInterfaces, allowUnicodeIdentifiers, apiDocTemplateFiles, apiNamePrefix, apiNameSuffix, apiPackage, apiTemplateFiles, apiTestTemplateFiles, cliOptions, DefaultFeatureSet, defaultIncludes, disallowAdditionalPropertiesIfNotPresent, docExtension, embeddedTemplateDir, enableMinimalUpdate, enablePostProcessFile, ensureUniqueParams, enumUnknownDefaultCase, enumUnknownDefaultCaseName, filesMetadataFilename, fileSuffix, generatorMetadata, gitHost, gitRepoId, gitUserId, hideGenerationTimestamp, httpUserAgent, ignoreFilePathOverride, importMapping, inputSpec, instantiationTypes, JSON_MIME_PATTERN, JSON_VENDOR_MIME_PATTERN, languageSpecificPrimitives, legacyDiscriminatorBehavior, library, modelDocTemplateFiles, modelNamePrefix, modelNameSuffix, modelPackage, modelTemplateFiles, modelTestTemplateFiles, openAPI, outputFolder, prependFormOrBodyParameters, releaseNote, removeEnumValuePrefix, removeOperationIdPrefix, removeOperationIdPrefixCount, removeOperationIdPrefixDelimiter, reservedWords, reservedWordsMappings, serverVariables, skipOperationExample, skipOverwrite, sortModelPropertiesByRequiredFlag, sortParamsByRequiredFlag, specialCharReplacements, strictSpecBehavior, supportedLibraries, supportingFiles, supportsAdditionalPropertiesWithComposedSchema, supportsInheritance, supportsMixins, supportsMultipleInheritance, templateDir, testPackage, typeAliases, typeMapping, useOneOfInterfaces, vendorExtensions, versionMetadataFilename| Constructor and Description |
|---|
TypeScriptClientCodegen() |
| Modifier and Type | Method and Description |
|---|---|
protected void |
addAdditionPropertiesToCodeGenModel(CodegenModel codegenModel,
io.swagger.v3.oas.models.media.Schema schema)
Handle the model for the 'additionalProperties' keyword in the OAS schema.
|
protected void |
addImport(CodegenModel m,
String type) |
protected String |
addPrefix(String name,
String prefix) |
protected String |
addSuffix(String name,
String suffix) |
protected String |
enumValuesToEnumTypeUnion(List<String> values,
String dataType)
Converts a list of strings to a literal union for representing enum values as a type.
|
String |
escapeQuotationMark(String input)
Escape single and/or double quote to avoid code injection
|
String |
escapeReservedWord(String name)
Return the escaped name of the reserved word
|
String |
escapeUnsafeCharacters(String input)
override with any special text escaping logic to handle unsafe
characters so as to avoid code injection
|
CodegenParameter |
fromFormProperty(String name,
io.swagger.v3.oas.models.media.Schema propertySchema,
Set<String> imports)
Create a CodegenParameter for a Form Property
We have a custom version of this method so we can invoke
setParameterExampleValue(codegenParameter, parameter)
rather than setParameterExampleValue(codegenParameter)
This ensures that all of our samples are generated in
toExampleValueRecursive
|
String |
getHelp() |
String |
getModelName(io.swagger.v3.oas.models.media.Schema sc) |
String |
getModelPropertyNaming() |
String |
getName() |
String |
getNameUsingModelPropertyNaming(String name) |
String |
getNpmName() |
String |
getNpmRepository() |
String |
getNpmVersion() |
protected Object |
getObjectExample(io.swagger.v3.oas.models.media.Schema sc)
Gets an example if it exists
|
protected String |
getParameterDataType(io.swagger.v3.oas.models.parameters.Parameter parameter,
io.swagger.v3.oas.models.media.Schema p)
Returns the data type of a parameter.
|
String |
getSchemaType(io.swagger.v3.oas.models.media.Schema p)
returns the OpenAPI type for the property.
|
CodegenType |
getTag() |
String |
getTypeDeclaration(io.swagger.v3.oas.models.media.Schema p)
Output the language-specific type declaration of the property.
|
protected List<String> |
getTypesFromSchemas(List<io.swagger.v3.oas.models.media.Schema> schemas)
Extracts the list of type names from a list of schemas.
|
protected boolean |
isReservedWord(String word) |
protected String |
numericEnumValuesToEnumTypeUnion(List<Number> values)
Converts a list of numbers to a literal union for representing enum values as a type.
|
Map<String,Object> |
postProcessAllModels(Map<String,Object> objs) |
Map<String,Object> |
postProcessModels(Map<String,Object> objs) |
Map<String,Object> |
postProcessOperationsWithModels(Map<String,Object> operations,
List<Object> models) |
Map<String,Object> |
postProcessSupportingFileData(Map<String,Object> objs) |
void |
preprocessOpenAPI(io.swagger.v3.oas.models.OpenAPI openAPI) |
void |
processOpts() |
void |
setModelPropertyNaming(String naming) |
void |
setNpmName(String npmName) |
void |
setNpmRepository(String npmRepository) |
void |
setNpmVersion(String npmVersion) |
void |
setParameterExampleValue(CodegenParameter codegenParameter,
io.swagger.v3.oas.models.parameters.Parameter parameter)
Set the codegenParameter example value
We have a custom version of this function so we can invoke toExampleValue
|
void |
setParameterExampleValue(CodegenParameter codegenParameter,
io.swagger.v3.oas.models.parameters.RequestBody requestBody)
Return the example value of the parameter.
|
protected String |
setPropertyExampleValue(CodegenProperty p) |
String |
toAllOfName(List<String> names,
io.swagger.v3.oas.models.media.ComposedSchema composedSchema)
Return the name of the 'allOf' composed schema.
|
String |
toAnyOfName(List<String> names,
io.swagger.v3.oas.models.media.ComposedSchema composedSchema)
Return the name of the anyOf schema
|
String |
toDefaultValue(io.swagger.v3.oas.models.media.Schema p)
Return the default value of the property
Return null if you do NOT want a default value.
|
String |
toEnumDefaultValue(String value,
String datatype)
Return the enum default value in the language specified format
|
String |
toEnumName(CodegenProperty property)
Return the Enum name (e.g.
|
String |
toEnumValue(String value,
String datatype)
Return the enum value in the language specified format
e.g.
|
String |
toEnumVarName(String name,
String datatype)
Return the sanitized variable name for enum
|
String |
toExampleValue(io.swagger.v3.oas.models.media.Schema schema)
Return the example value of the property
|
String |
toExampleValue(io.swagger.v3.oas.models.media.Schema schema,
Object objExample) |
String |
toModelFilename(String name)
Return the capitalized file name of the model
|
String |
toModelName(String name)
Converts the OpenAPI schema name to a model name suitable for the current code generator.
|
String |
toOneOfName(List<String> names,
io.swagger.v3.oas.models.media.ComposedSchema composedSchema)
Return the name of the oneOf schema.
|
String |
toOperationId(String operationId)
Return the operation ID (method name)
|
String |
toParamName(String name)
Return the parameter name by removing invalid characters and proper escaping if
it's a reserved word.
|
protected String |
toTypescriptTypeName(String name,
String safePrefix) |
String |
toVarName(String name)
Return the variable name by removing invalid characters and proper escaping if
it's a reserved word.
|
String |
typescriptDate(Object dateValue) |
String |
typescriptDateTime(Object dateTimeValue) |
addBodyModelSchema, addHeaders, addImportsForPropertyType, addImportsToOneOfInterface, additionalProperties, addMustacheLambdas, addOneOfInterfaceModel, addOneOfNameExtension, addOperationToGroup, addOption, addParentContainer, addProperties, addRegularExpressionDelimiter, addSwitch, addVars, apiDocFileFolder, apiDocFilename, apiDocTemplateFiles, apiFileFolder, apiFilename, apiPackage, apiTemplateFiles, apiTestFileFolder, apiTestFilename, apiTestTemplateFiles, buildEnumVars, buildLibraryCliOption, cliOptions, convertPropertyToBoolean, convertPropertyToBooleanAndWriteBack, createDiscriminator, defaultIncludes, embeddedTemplateDir, encodePath, escapeText, escapeTextWhileAllowingNewLines, fileSuffix, findCommonPrefixOfVars, findMethodResponse, fromCallback, fromModel, fromOperation, fromParameter, fromProperty, fromRequestBody, fromRequestBodyToFormParameters, fromResponse, fromSecurity, fromServers, fromServerVariables, generateExamplePath, generateJSONSpecFile, generateYAMLSpecFile, getAdditionalProperties, getAlias, getAllModels, getAllOfDescendants, getAllowUnicodeIdentifiers, getApiNamePrefix, getApiNameSuffix, getCollectionFormat, getCollectionFormat, getConsumesInfo, getContent, getContentType, getDisallowAdditionalPropertiesIfNotPresent, getDocExtension, getEnsureUniqueParams, getEnumDefaultValue, getEnumUnknownDefaultCase, getFeatureSet, getFilesMetadataFilename, getGeneratorMetadata, getGitHost, getGitRepoId, getGitUserId, getHttpUserAgent, getIgnoreFilePathOverride, getInnerEnumAllowableValues, getInputSpec, getLegacyDiscriminatorBehavior, getLibrary, getModelNamePrefix, getModelNameSuffix, getModelNameToSchemaCache, getMostInnerItems, getOneOfAnyOfDescendants, getOrGenerateOperationId, getOutputDir, getPrependFormOrBodyParameters, getProducesInfo, getReleaseNote, getRemoveOperationIdPrefixCount, getRemoveOperationIdPrefixDelimiter, getSchemaAdditionalProperties, getSchemaItems, getSingleSchemaType, getSortModelPropertiesByRequiredFlag, getSortParamsByRequiredFlag, getSymbolName, getTemplatingEngine, getterAndSetterCapitalize, getTypeDeclaration, getUseOneOfInterfaces, getVersionMetadataFilename, handleMethodResponse, handleMethodResponse, hasBodyParameter, hasFormParameter, importMapping, initializeSpecialCharacterMapping, instantiationTypes, isAnyTypeSchema, isDataTypeBinary, isDataTypeFile, isDataTypeString, isEnableMinimalUpdate, isEnablePostProcessFile, isFreeFormObject, isHideGenerationTimestamp, isJsonMimeType, isJsonVendorMimeType, isLibrary, isParameterNameUnique, isPropertyInnerMostEnum, isRemoveEnumValuePrefix, isRemoveOperationIdPrefix, isSkipOperationExample, isSkipOverwrite, isStrictSpecBehavior, languageSpecificPrimitives, lowerCamelCase, modelDocFileFolder, modelDocTemplateFiles, modelFileFolder, modelFilename, modelPackage, modelTemplateFiles, modelTestFileFolder, modelTestTemplateFiles, modifyFeatureSet, needToImport, outputFolder, postProcess, postProcessFile, postProcessModelProperty, postProcessModelsEnum, postProcessParameter, processCompiler, processOpenAPI, processTemplatingEngine, removeNonNameElementToCamelCase, removeNonNameElementToCamelCase, removeOption, removeSelfReferenceImports, reservedWords, reservedWordsMappings, sanitizeName, sanitizeName, sanitizeName, sanitizeTag, serverVariableOverrides, setAddProps, setAllowUnicodeIdentifiers, setApiNamePrefix, setApiNameSuffix, setApiPackage, setCircularReferences, setDisallowAdditionalPropertiesIfNotPresent, setDocExtension, setEnableMinimalUpdate, setEnablePostProcessFile, setEnsureUniqueParams, setEnumUnknownDefaultCase, setFilesMetadataFilename, setGitHost, setGitRepoId, setGitUserId, setHideGenerationTimestamp, setHttpUserAgent, setIgnoreFilePathOverride, setInputSpec, setLegacyDiscriminatorBehavior, setLibrary, setModelNamePrefix, setModelNameSuffix, setModelPackage, setNonArrayMapProperty, setOpenAPI, setOutputDir, setParameterBooleanFlagWithCodegenProperty, setParameterContentType, setParameterExampleValue, setParameterNullable, setPrependFormOrBodyParameters, setReleaseNote, setRemoveEnumValuePrefix, setRemoveOperationIdPrefix, setRemoveOperationIdPrefixCount, setRemoveOperationIdPrefixDelimiter, setReservedWordsLowerCase, setSkipOperationExample, setSkipOverwrite, setSortModelPropertiesByRequiredFlag, setSortParamsByRequiredFlag, setStrictSpecBehavior, setTemplateDir, setTemplatingEngine, setUseOneOfInterfaces, setVersionMetadataFilename, shouldOverwrite, supportedLibraries, supportingFiles, templateDir, testPackage, toApiDocFilename, toApiFilename, toApiImport, toApiName, toApiTestFilename, toApiVarName, toArrayModelParamName, toBooleanGetter, toDefaultParameterValue, toDefaultValueWithParam, toExamples, toGetter, toInstantiationType, toMediaTypeSchemaName, toModelDocFilename, toModelImport, toModelImportMap, toModelTestFilename, toRegularExpression, toSetter, typeMapping, unaliasPropertySchema, unaliasSchema, updateAllModels, updateCodegenPropertyEnum, updateDataTypeWithEnumForArray, updateDataTypeWithEnumForMap, updateEnumVarsWithExtensions, updateModelForAnyType, updateModelForComposedSchema, updateModelForObject, updateOption, updateParameterForString, updatePropertyForAnyType, updatePropertyForArray, updatePropertyForMap, updatePropertyForMap, updatePropertyForObject, updatePropertyForString, updateRequestBodyForArray, updateRequestBodyForMap, updateRequestBodyForObject, updateRequestBodyForPrimitiveType, updateRequestBodyForString, vendorExtensions, writePropertyBackclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitadditionalProperties, addOperationToGroup, apiDocFileFolder, apiDocFilename, apiDocTemplateFiles, apiFileFolder, apiFilename, apiPackage, apiTemplateFiles, apiTestFileFolder, apiTestFilename, apiTestTemplateFiles, cliOptions, defaultIncludes, embeddedTemplateDir, encodePath, escapeText, escapeTextWhileAllowingNewLines, fileSuffix, fromModel, fromOperation, fromSecurity, fromServers, fromServerVariables, generateExamplePath, getDocExtension, getFeatureSet, getFilesMetadataFilename, getGeneratorMetadata, getGitHost, getGitRepoId, getGitUserId, getHttpUserAgent, getIgnoreFilePathOverride, getInputSpec, getLibrary, getOutputDir, getReleaseNote, getTemplatingEngine, getTypeDeclaration, getVersionMetadataFilename, importMapping, instantiationTypes, isEnableMinimalUpdate, isEnablePostProcessFile, isHideGenerationTimestamp, isRemoveEnumValuePrefix, isRemoveOperationIdPrefix, isSkipOperationExample, isSkipOverwrite, isStrictSpecBehavior, languageSpecificPrimitives, modelDocFileFolder, modelDocTemplateFiles, modelFileFolder, modelFilename, modelPackage, modelTemplateFiles, modelTestFileFolder, modelTestTemplateFiles, outputFolder, postProcess, postProcessFile, postProcessModelProperty, postProcessParameter, processCompiler, processOpenAPI, processTemplatingEngine, reservedWords, reservedWordsMappings, sanitizeName, sanitizeTag, serverVariableOverrides, setDocExtension, setEnableMinimalUpdate, setEnablePostProcessFile, setGitHost, setGitRepoId, setGitUserId, setHideGenerationTimestamp, setHttpUserAgent, setIgnoreFilePathOverride, setInputSpec, setLibrary, setOpenAPI, setOutputDir, setReleaseNote, setRemoveEnumValuePrefix, setRemoveOperationIdPrefix, setSkipOperationExample, setSkipOverwrite, setStrictSpecBehavior, setTemplatingEngine, shouldOverwrite, supportedLibraries, supportingFiles, templateDir, testPackage, toApiDocFilename, toApiFilename, toApiImport, toApiName, toApiTestFilename, toApiVarName, toBooleanGetter, toGetter, toModelDocFilename, toModelImport, toModelImportMap, toModelTestFilename, toSetter, typeMapping, unaliasSchema, updateAllModels, vendorExtensionsprotected static final ThreadLocal<SimpleDateFormat> SNAPSHOT_SUFFIX_FORMAT
protected String npmRepository
protected String snapshot
protected String npmName
protected String npmVersion
protected String modelPropertyNaming
public String getNpmName()
public void setNpmName(String npmName)
public String getNpmRepository()
public void setNpmRepository(String npmRepository)
public String getNpmVersion()
public void setNpmVersion(String npmVersion)
public CodegenType getTag()
getTag in interface CodegenConfiggetTag in class DefaultCodegenpublic void preprocessOpenAPI(io.swagger.v3.oas.models.OpenAPI openAPI)
preprocessOpenAPI in interface CodegenConfigpreprocessOpenAPI in class DefaultCodegenpublic Map<String,Object> postProcessSupportingFileData(Map<String,Object> objs)
postProcessSupportingFileData in interface CodegenConfigpostProcessSupportingFileData in class DefaultCodegenpublic Map<String,Object> postProcessOperationsWithModels(Map<String,Object> operations, List<Object> models)
postProcessOperationsWithModels in interface CodegenConfigpostProcessOperationsWithModels in class DefaultCodegenpublic String escapeReservedWord(String name)
DefaultCodegenescapeReservedWord in interface CodegenConfigescapeReservedWord in class DefaultCodegenname - the name to be escapedthrows Runtime exception as reserved word is not allowed (default behavior)
public String toParamName(String name)
DefaultCodegentoParamName in interface CodegenConfigtoParamName in class DefaultCodegenname - Codegen property objectpublic String toVarName(String name)
DefaultCodegentoVarName in class DefaultCodegenname - the variable namepublic String toModelName(String name)
DefaultCodegentoModelName in interface CodegenConfigtoModelName in class DefaultCodegenname - the name of the modelpublic String toModelFilename(String name)
DefaultCodegentoModelFilename in interface CodegenConfigtoModelFilename in class DefaultCodegenname - the model nameprotected String getParameterDataType(io.swagger.v3.oas.models.parameters.Parameter parameter, io.swagger.v3.oas.models.media.Schema p)
DefaultCodegengetParameterDataType in class DefaultCodegenparameter - Parameterp - Schemaprotected String enumValuesToEnumTypeUnion(List<String> values, String dataType)
values - list of allowed enum valuesdataType - either "string" or "number"protected String numericEnumValuesToEnumTypeUnion(List<Number> values)
values - a list of numberspublic String toDefaultValue(io.swagger.v3.oas.models.media.Schema p)
DefaultCodegentoDefaultValue in class DefaultCodegenp - Property schemaprotected boolean isReservedWord(String word)
isReservedWord in class DefaultCodegenpublic String getSchemaType(io.swagger.v3.oas.models.media.Schema p)
DefaultCodegengetSchemaType in class DefaultCodegenp - property schemapublic String toOperationId(String operationId)
DefaultCodegentoOperationId in class DefaultCodegenoperationId - operation IDpublic void setModelPropertyNaming(String naming)
public String getModelPropertyNaming()
public String toEnumValue(String value, String datatype)
DefaultCodegentoEnumValue in class DefaultCodegenvalue - enum variable namedatatype - data typepublic String toEnumDefaultValue(String value, String datatype)
DefaultCodegentoEnumDefaultValue in class DefaultCodegenvalue - enum variable namedatatype - data typepublic String toEnumVarName(String name, String datatype)
DefaultCodegentoEnumVarName in class DefaultCodegenname - enum variable namedatatype - data typepublic String toEnumName(CodegenProperty property)
DefaultCodegentoEnumName in class DefaultCodegenproperty - Codegen propertypublic Map<String,Object> postProcessModels(Map<String,Object> objs)
postProcessModels in interface CodegenConfigpostProcessModels in class DefaultCodegenpublic Map<String,Object> postProcessAllModels(Map<String,Object> objs)
postProcessAllModels in interface CodegenConfigpostProcessAllModels in class DefaultCodegenpublic String escapeQuotationMark(String input)
DefaultCodegenescapeQuotationMark in interface CodegenConfigescapeQuotationMark in class DefaultCodegeninput - String to be cleaned uppublic String escapeUnsafeCharacters(String input)
DefaultCodegenescapeUnsafeCharacters in interface CodegenConfigescapeUnsafeCharacters in class DefaultCodegeninput - String to be cleaned uppublic String getName()
getName in interface CodegenConfiggetName in class DefaultCodegenpublic String getHelp()
getHelp in interface CodegenConfiggetHelp in class DefaultCodegenpublic void processOpts()
processOpts in interface CodegenConfigprocessOpts in class DefaultCodegenpublic String getTypeDeclaration(io.swagger.v3.oas.models.media.Schema p)
DefaultCodegengetTypeDeclaration in interface CodegenConfiggetTypeDeclaration in class DefaultCodegenp - property schemaprotected void addAdditionPropertiesToCodeGenModel(CodegenModel codegenModel, io.swagger.v3.oas.models.media.Schema schema)
DefaultCodegenaddAdditionPropertiesToCodeGenModel in class DefaultCodegencodegenModel - The codegen representation of the schema.schema - The input OAS schema.public String getModelName(io.swagger.v3.oas.models.media.Schema sc)
protected Object getObjectExample(io.swagger.v3.oas.models.media.Schema sc)
sc - input schemapublic String toExampleValue(io.swagger.v3.oas.models.media.Schema schema)
DefaultCodegentoExampleValue in class DefaultCodegenschema - Property schemapublic String toExampleValue(io.swagger.v3.oas.models.media.Schema schema, Object objExample)
protected String setPropertyExampleValue(CodegenProperty p)
public void setParameterExampleValue(CodegenParameter codegenParameter, io.swagger.v3.oas.models.parameters.Parameter parameter)
setParameterExampleValue in class DefaultCodegencodegenParameter - the item we are setting the example onparameter - the base parameter that came from the specpublic void setParameterExampleValue(CodegenParameter codegenParameter, io.swagger.v3.oas.models.parameters.RequestBody requestBody)
setParameterExampleValue in class DefaultCodegencodegenParameter - Codegen parameterrequestBody - Request bodypublic CodegenParameter fromFormProperty(String name, io.swagger.v3.oas.models.media.Schema propertySchema, Set<String> imports)
fromFormProperty in class DefaultCodegenname - the property namepropertySchema - the property schemaimports - our import setpublic String toAnyOfName(List<String> names, io.swagger.v3.oas.models.media.ComposedSchema composedSchema)
DefaultCodegentoAnyOfName in class DefaultCodegennames - List of namescomposedSchema - composed schemapublic String toOneOfName(List<String> names, io.swagger.v3.oas.models.media.ComposedSchema composedSchema)
DefaultCodegenThis name is used to set the value of CodegenProperty.openApiType.
If the 'x-one-of-name' extension is specified in the OAS document, return that value. Otherwise, a name is constructed by creating a comma-separated list of all the names of the oneOf schemas.
toOneOfName in class DefaultCodegennames - List of namescomposedSchema - composed schemapublic String toAllOfName(List<String> names, io.swagger.v3.oas.models.media.ComposedSchema composedSchema)
DefaultCodegentoAllOfName in class DefaultCodegennames - List of namescomposedSchema - composed schemaprotected List<String> getTypesFromSchemas(List<io.swagger.v3.oas.models.media.Schema> schemas)
schemas - list of schemasprotected void addImport(CodegenModel m, String type)
addImport in class DefaultCodegenCopyright © 2021. All rights reserved.