forked from loafle/openapi-generator-original
		
	fix(typescript-client): handle special characters (#15893)
Adding a new option for typescript clients in order to handle '+' and '-' characters when computing the name of an enum value. Fix https://github.com/OpenAPITools/openapi-generator/issues/5110
This commit is contained in:
		
							parent
							
								
									b468e4bb15
								
							
						
					
					
						commit
						3c5b119252
					
				| @ -23,6 +23,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl | ||||
| |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.| |Enum| | ||||
| |enumPropertyNaming|Naming convention for enum properties: 'camelCase', 'PascalCase', 'snake_case', 'UPPERCASE', and 'original'| |PascalCase| | ||||
| |enumPropertyNamingReplaceSpecialChar|Set to true to replace '-' and '+' symbols with 'minus_' and 'plus_' in enum of type string| |false| | ||||
| |enumUnknownDefaultCase|If the server adds new enum cases, that are unknown by an old spec/client, the client will fail to parse the network response.With this option enabled, each enum will have a new case, 'unknown_default_open_api', so that when the server sends an enum case that is not known by the client/spec, they can safely fallback to this case.|<dl><dt>**false**</dt><dd>No changes to the enum's are made, this is the default option.</dd><dt>**true**</dt><dd>With this option enabled, each enum will have a new case, 'unknown_default_open_api', so that when the enum case sent by the server is not known by the client/spec, can safely be decoded to this case.</dd></dl>|false| | ||||
| |legacyDiscriminatorBehavior|Set to false for generators with better support for discriminators. (Python, Java, Go, PowerShell, C# have this enabled by default).|<dl><dt>**true**</dt><dd>The mapping in the discriminator includes descendent schemas that allOf inherit from self and the discriminator mapping schemas in the OAS document.</dd><dt>**false**</dt><dd>The mapping in the discriminator includes any descendent schemas that allOf inherit from self, any oneOf schemas, any anyOf schemas, any x-discriminator-values, and the discriminator mapping schemas in the OAS document AND Codegen validates that oneOf and anyOf schemas contain the required discriminator and throws an error if the discriminator is missing.</dd></dl>|true| | ||||
| |modelPropertyNaming|Naming convention for the property: 'camelCase', 'PascalCase', 'snake_case' and 'original', which keeps the original name. Only change it if you provide your own run-time code for (de-)serialization of models| |original| | ||||
|  | ||||
| @ -25,6 +25,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl | ||||
| |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.| |Enum| | ||||
| |enumPropertyNaming|Naming convention for enum properties: 'camelCase', 'PascalCase', 'snake_case', 'UPPERCASE', and 'original'| |PascalCase| | ||||
| |enumPropertyNamingReplaceSpecialChar|Set to true to replace '-' and '+' symbols with 'minus_' and 'plus_' in enum of type string| |false| | ||||
| |enumUnknownDefaultCase|If the server adds new enum cases, that are unknown by an old spec/client, the client will fail to parse the network response.With this option enabled, each enum will have a new case, 'unknown_default_open_api', so that when the server sends an enum case that is not known by the client/spec, they can safely fallback to this case.|<dl><dt>**false**</dt><dd>No changes to the enum's are made, this is the default option.</dd><dt>**true**</dt><dd>With this option enabled, each enum will have a new case, 'unknown_default_open_api', so that when the enum case sent by the server is not known by the client/spec, can safely be decoded to this case.</dd></dl>|false| | ||||
| |fileNaming|Naming convention for the output files: 'camelCase', 'kebab-case'.| |camelCase| | ||||
| |legacyDiscriminatorBehavior|Set to false for generators with better support for discriminators. (Python, Java, Go, PowerShell, C# have this enabled by default).|<dl><dt>**true**</dt><dd>The mapping in the discriminator includes descendent schemas that allOf inherit from self and the discriminator mapping schemas in the OAS document.</dd><dt>**false**</dt><dd>The mapping in the discriminator includes any descendent schemas that allOf inherit from self, any oneOf schemas, any anyOf schemas, any x-discriminator-values, and the discriminator mapping schemas in the OAS document AND Codegen validates that oneOf and anyOf schemas contain the required discriminator and throws an error if the discriminator is missing.</dd></dl>|true| | ||||
|  | ||||
| @ -23,6 +23,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl | ||||
| |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.| |Enum| | ||||
| |enumPropertyNaming|Naming convention for enum properties: 'camelCase', 'PascalCase', 'snake_case', 'UPPERCASE', and 'original'| |PascalCase| | ||||
| |enumPropertyNamingReplaceSpecialChar|Set to true to replace '-' and '+' symbols with 'minus_' and 'plus_' in enum of type string| |false| | ||||
| |enumUnknownDefaultCase|If the server adds new enum cases, that are unknown by an old spec/client, the client will fail to parse the network response.With this option enabled, each enum will have a new case, 'unknown_default_open_api', so that when the server sends an enum case that is not known by the client/spec, they can safely fallback to this case.|<dl><dt>**false**</dt><dd>No changes to the enum's are made, this is the default option.</dd><dt>**true**</dt><dd>With this option enabled, each enum will have a new case, 'unknown_default_open_api', so that when the enum case sent by the server is not known by the client/spec, can safely be decoded to this case.</dd></dl>|false| | ||||
| |legacyDiscriminatorBehavior|Set to false for generators with better support for discriminators. (Python, Java, Go, PowerShell, C# have this enabled by default).|<dl><dt>**true**</dt><dd>The mapping in the discriminator includes descendent schemas that allOf inherit from self and the discriminator mapping schemas in the OAS document.</dd><dt>**false**</dt><dd>The mapping in the discriminator includes any descendent schemas that allOf inherit from self, any oneOf schemas, any anyOf schemas, any x-discriminator-values, and the discriminator mapping schemas in the OAS document AND Codegen validates that oneOf and anyOf schemas contain the required discriminator and throws an error if the discriminator is missing.</dd></dl>|true| | ||||
| |modelPropertyNaming|Naming convention for the property: 'camelCase', 'PascalCase', 'snake_case' and 'original', which keeps the original name. Only change it if you provide your own run-time code for (de-)serialization of models| |original| | ||||
|  | ||||
| @ -24,6 +24,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl | ||||
| |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.| |Enum| | ||||
| |enumPropertyNaming|Naming convention for enum properties: 'camelCase', 'PascalCase', 'snake_case', 'UPPERCASE', and 'original'| |PascalCase| | ||||
| |enumPropertyNamingReplaceSpecialChar|Set to true to replace '-' and '+' symbols with 'minus_' and 'plus_' in enum of type string| |false| | ||||
| |enumUnknownDefaultCase|If the server adds new enum cases, that are unknown by an old spec/client, the client will fail to parse the network response.With this option enabled, each enum will have a new case, 'unknown_default_open_api', so that when the server sends an enum case that is not known by the client/spec, they can safely fallback to this case.|<dl><dt>**false**</dt><dd>No changes to the enum's are made, this is the default option.</dd><dt>**true**</dt><dd>With this option enabled, each enum will have a new case, 'unknown_default_open_api', so that when the enum case sent by the server is not known by the client/spec, can safely be decoded to this case.</dd></dl>|false| | ||||
| |legacyDiscriminatorBehavior|Set to false for generators with better support for discriminators. (Python, Java, Go, PowerShell, C# have this enabled by default).|<dl><dt>**true**</dt><dd>The mapping in the discriminator includes descendent schemas that allOf inherit from self and the discriminator mapping schemas in the OAS document.</dd><dt>**false**</dt><dd>The mapping in the discriminator includes any descendent schemas that allOf inherit from self, any oneOf schemas, any anyOf schemas, any x-discriminator-values, and the discriminator mapping schemas in the OAS document AND Codegen validates that oneOf and anyOf schemas contain the required discriminator and throws an error if the discriminator is missing.</dd></dl>|true| | ||||
| |modelPackage|package for generated models| |null| | ||||
|  | ||||
| @ -23,6 +23,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl | ||||
| |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.| |Enum| | ||||
| |enumPropertyNaming|Naming convention for enum properties: 'camelCase', 'PascalCase', 'snake_case', 'UPPERCASE', and 'original'| |PascalCase| | ||||
| |enumPropertyNamingReplaceSpecialChar|Set to true to replace '-' and '+' symbols with 'minus_' and 'plus_' in enum of type string| |false| | ||||
| |enumUnknownDefaultCase|If the server adds new enum cases, that are unknown by an old spec/client, the client will fail to parse the network response.With this option enabled, each enum will have a new case, 'unknown_default_open_api', so that when the server sends an enum case that is not known by the client/spec, they can safely fallback to this case.|<dl><dt>**false**</dt><dd>No changes to the enum's are made, this is the default option.</dd><dt>**true**</dt><dd>With this option enabled, each enum will have a new case, 'unknown_default_open_api', so that when the enum case sent by the server is not known by the client/spec, can safely be decoded to this case.</dd></dl>|false| | ||||
| |importFileExtension|File extension to use with relative imports. Set it to '.js' or '.mjs' when using [ESM](https://nodejs.org/api/esm.html).| || | ||||
| |legacyDiscriminatorBehavior|Set to false for generators with better support for discriminators. (Python, Java, Go, PowerShell, C# have this enabled by default).|<dl><dt>**true**</dt><dd>The mapping in the discriminator includes descendent schemas that allOf inherit from self and the discriminator mapping schemas in the OAS document.</dd><dt>**false**</dt><dd>The mapping in the discriminator includes any descendent schemas that allOf inherit from self, any oneOf schemas, any anyOf schemas, any x-discriminator-values, and the discriminator mapping schemas in the OAS document AND Codegen validates that oneOf and anyOf schemas contain the required discriminator and throws an error if the discriminator is missing.</dd></dl>|true| | ||||
|  | ||||
| @ -23,6 +23,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl | ||||
| |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.| |Enum| | ||||
| |enumPropertyNaming|Naming convention for enum properties: 'camelCase', 'PascalCase', 'snake_case', 'UPPERCASE', and 'original'| |PascalCase| | ||||
| |enumPropertyNamingReplaceSpecialChar|Set to true to replace '-' and '+' symbols with 'minus_' and 'plus_' in enum of type string| |false| | ||||
| |enumUnknownDefaultCase|If the server adds new enum cases, that are unknown by an old spec/client, the client will fail to parse the network response.With this option enabled, each enum will have a new case, 'unknown_default_open_api', so that when the server sends an enum case that is not known by the client/spec, they can safely fallback to this case.|<dl><dt>**false**</dt><dd>No changes to the enum's are made, this is the default option.</dd><dt>**true**</dt><dd>With this option enabled, each enum will have a new case, 'unknown_default_open_api', so that when the enum case sent by the server is not known by the client/spec, can safely be decoded to this case.</dd></dl>|false| | ||||
| |legacyDiscriminatorBehavior|Set to false for generators with better support for discriminators. (Python, Java, Go, PowerShell, C# have this enabled by default).|<dl><dt>**true**</dt><dd>The mapping in the discriminator includes descendent schemas that allOf inherit from self and the discriminator mapping schemas in the OAS document.</dd><dt>**false**</dt><dd>The mapping in the discriminator includes any descendent schemas that allOf inherit from self, any oneOf schemas, any anyOf schemas, any x-discriminator-values, and the discriminator mapping schemas in the OAS document AND Codegen validates that oneOf and anyOf schemas contain the required discriminator and throws an error if the discriminator is missing.</dd></dl>|true| | ||||
| |modelPropertyNaming|Naming convention for the property: 'camelCase', 'PascalCase', 'snake_case' and 'original', which keeps the original name. Only change it if you provide your own run-time code for (de-)serialization of models| |original| | ||||
|  | ||||
| @ -23,6 +23,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl | ||||
| |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.| |Enum| | ||||
| |enumPropertyNaming|Naming convention for enum properties: 'camelCase', 'PascalCase', 'snake_case', 'UPPERCASE', and 'original'| |PascalCase| | ||||
| |enumPropertyNamingReplaceSpecialChar|Set to true to replace '-' and '+' symbols with 'minus_' and 'plus_' in enum of type string| |false| | ||||
| |enumUnknownDefaultCase|If the server adds new enum cases, that are unknown by an old spec/client, the client will fail to parse the network response.With this option enabled, each enum will have a new case, 'unknown_default_open_api', so that when the server sends an enum case that is not known by the client/spec, they can safely fallback to this case.|<dl><dt>**false**</dt><dd>No changes to the enum's are made, this is the default option.</dd><dt>**true**</dt><dd>With this option enabled, each enum will have a new case, 'unknown_default_open_api', so that when the enum case sent by the server is not known by the client/spec, can safely be decoded to this case.</dd></dl>|false| | ||||
| |jqueryAlreadyImported|When using this in legacy app using mix of typescript and javascript, this will only declare jquery and not import it| |false| | ||||
| |legacyDiscriminatorBehavior|Set to false for generators with better support for discriminators. (Python, Java, Go, PowerShell, C# have this enabled by default).|<dl><dt>**true**</dt><dd>The mapping in the discriminator includes descendent schemas that allOf inherit from self and the discriminator mapping schemas in the OAS document.</dd><dt>**false**</dt><dd>The mapping in the discriminator includes any descendent schemas that allOf inherit from self, any oneOf schemas, any anyOf schemas, any x-discriminator-values, and the discriminator mapping schemas in the OAS document AND Codegen validates that oneOf and anyOf schemas contain the required discriminator and throws an error if the discriminator is missing.</dd></dl>|true| | ||||
|  | ||||
| @ -23,6 +23,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl | ||||
| |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.| |Enum| | ||||
| |enumPropertyNaming|Naming convention for enum properties: 'camelCase', 'PascalCase', 'snake_case', 'UPPERCASE', and 'original'| |PascalCase| | ||||
| |enumPropertyNamingReplaceSpecialChar|Set to true to replace '-' and '+' symbols with 'minus_' and 'plus_' in enum of type string| |false| | ||||
| |enumUnknownDefaultCase|If the server adds new enum cases, that are unknown by an old spec/client, the client will fail to parse the network response.With this option enabled, each enum will have a new case, 'unknown_default_open_api', so that when the server sends an enum case that is not known by the client/spec, they can safely fallback to this case.|<dl><dt>**false**</dt><dd>No changes to the enum's are made, this is the default option.</dd><dt>**true**</dt><dd>With this option enabled, each enum will have a new case, 'unknown_default_open_api', so that when the enum case sent by the server is not known by the client/spec, can safely be decoded to this case.</dd></dl>|false| | ||||
| |fileNaming|Naming convention for the output files: 'camelCase', 'kebab-case'.| |camelCase| | ||||
| |legacyDiscriminatorBehavior|Set to false for generators with better support for discriminators. (Python, Java, Go, PowerShell, C# have this enabled by default).|<dl><dt>**true**</dt><dd>The mapping in the discriminator includes descendent schemas that allOf inherit from self and the discriminator mapping schemas in the OAS document.</dd><dt>**false**</dt><dd>The mapping in the discriminator includes any descendent schemas that allOf inherit from self, any oneOf schemas, any anyOf schemas, any x-discriminator-values, and the discriminator mapping schemas in the OAS document AND Codegen validates that oneOf and anyOf schemas contain the required discriminator and throws an error if the discriminator is missing.</dd></dl>|true| | ||||
|  | ||||
| @ -23,6 +23,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl | ||||
| |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.| |Enum| | ||||
| |enumPropertyNaming|Naming convention for enum properties: 'camelCase', 'PascalCase', 'snake_case', 'UPPERCASE', and 'original'| |PascalCase| | ||||
| |enumPropertyNamingReplaceSpecialChar|Set to true to replace '-' and '+' symbols with 'minus_' and 'plus_' in enum of type string| |false| | ||||
| |enumUnknownDefaultCase|If the server adds new enum cases, that are unknown by an old spec/client, the client will fail to parse the network response.With this option enabled, each enum will have a new case, 'unknown_default_open_api', so that when the server sends an enum case that is not known by the client/spec, they can safely fallback to this case.|<dl><dt>**false**</dt><dd>No changes to the enum's are made, this is the default option.</dd><dt>**true**</dt><dd>With this option enabled, each enum will have a new case, 'unknown_default_open_api', so that when the enum case sent by the server is not known by the client/spec, can safely be decoded to this case.</dd></dl>|false| | ||||
| |legacyDiscriminatorBehavior|Set to false for generators with better support for discriminators. (Python, Java, Go, PowerShell, C# have this enabled by default).|<dl><dt>**true**</dt><dd>The mapping in the discriminator includes descendent schemas that allOf inherit from self and the discriminator mapping schemas in the OAS document.</dd><dt>**false**</dt><dd>The mapping in the discriminator includes any descendent schemas that allOf inherit from self, any oneOf schemas, any anyOf schemas, any x-discriminator-values, and the discriminator mapping schemas in the OAS document AND Codegen validates that oneOf and anyOf schemas contain the required discriminator and throws an error if the discriminator is missing.</dd></dl>|true| | ||||
| |modelPropertyNaming|Naming convention for the property: 'camelCase', 'PascalCase', 'snake_case' and 'original', which keeps the original name| |camelCase| | ||||
|  | ||||
| @ -23,6 +23,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl | ||||
| |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.| |Enum| | ||||
| |enumPropertyNaming|Naming convention for enum properties: 'camelCase', 'PascalCase', 'snake_case', 'UPPERCASE', and 'original'| |PascalCase| | ||||
| |enumPropertyNamingReplaceSpecialChar|Set to true to replace '-' and '+' symbols with 'minus_' and 'plus_' in enum of type string| |false| | ||||
| |enumUnknownDefaultCase|If the server adds new enum cases, that are unknown by an old spec/client, the client will fail to parse the network response.With this option enabled, each enum will have a new case, 'unknown_default_open_api', so that when the server sends an enum case that is not known by the client/spec, they can safely fallback to this case.|<dl><dt>**false**</dt><dd>No changes to the enum's are made, this is the default option.</dd><dt>**true**</dt><dd>With this option enabled, each enum will have a new case, 'unknown_default_open_api', so that when the enum case sent by the server is not known by the client/spec, can safely be decoded to this case.</dd></dl>|false| | ||||
| |legacyDiscriminatorBehavior|Set to false for generators with better support for discriminators. (Python, Java, Go, PowerShell, C# have this enabled by default).|<dl><dt>**true**</dt><dd>The mapping in the discriminator includes descendent schemas that allOf inherit from self and the discriminator mapping schemas in the OAS document.</dd><dt>**false**</dt><dd>The mapping in the discriminator includes any descendent schemas that allOf inherit from self, any oneOf schemas, any anyOf schemas, any x-discriminator-values, and the discriminator mapping schemas in the OAS document AND Codegen validates that oneOf and anyOf schemas contain the required discriminator and throws an error if the discriminator is missing.</dd></dl>|true| | ||||
| |modelPropertyNaming|Naming convention for the property: 'camelCase', 'PascalCase', 'snake_case' and 'original', which keeps the original name| |camelCase| | ||||
|  | ||||
| @ -23,6 +23,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl | ||||
| |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.| |Enum| | ||||
| |enumPropertyNaming|Naming convention for enum properties: 'camelCase', 'PascalCase', 'snake_case', 'UPPERCASE', and 'original'| |PascalCase| | ||||
| |enumPropertyNamingReplaceSpecialChar|Set to true to replace '-' and '+' symbols with 'minus_' and 'plus_' in enum of type string| |false| | ||||
| |enumUnknownDefaultCase|If the server adds new enum cases, that are unknown by an old spec/client, the client will fail to parse the network response.With this option enabled, each enum will have a new case, 'unknown_default_open_api', so that when the server sends an enum case that is not known by the client/spec, they can safely fallback to this case.|<dl><dt>**false**</dt><dd>No changes to the enum's are made, this is the default option.</dd><dt>**true**</dt><dd>With this option enabled, each enum will have a new case, 'unknown_default_open_api', so that when the enum case sent by the server is not known by the client/spec, can safely be decoded to this case.</dd></dl>|false| | ||||
| |legacyDiscriminatorBehavior|Set to false for generators with better support for discriminators. (Python, Java, Go, PowerShell, C# have this enabled by default).|<dl><dt>**true**</dt><dd>The mapping in the discriminator includes descendent schemas that allOf inherit from self and the discriminator mapping schemas in the OAS document.</dd><dt>**false**</dt><dd>The mapping in the discriminator includes any descendent schemas that allOf inherit from self, any oneOf schemas, any anyOf schemas, any x-discriminator-values, and the discriminator mapping schemas in the OAS document AND Codegen validates that oneOf and anyOf schemas contain the required discriminator and throws an error if the discriminator is missing.</dd></dl>|true| | ||||
| |modelPropertyNaming|Naming convention for the property: 'camelCase', 'PascalCase', 'snake_case' and 'original', which keeps the original name. Only change it if you provide your own run-time code for (de-)serialization of models| |original| | ||||
|  | ||||
| @ -23,6 +23,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl | ||||
| |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.| |Enum| | ||||
| |enumPropertyNaming|Naming convention for enum properties: 'camelCase', 'PascalCase', 'snake_case', 'UPPERCASE', and 'original'| |PascalCase| | ||||
| |enumPropertyNamingReplaceSpecialChar|Set to true to replace '-' and '+' symbols with 'minus_' and 'plus_' in enum of type string| |false| | ||||
| |enumUnknownDefaultCase|If the server adds new enum cases, that are unknown by an old spec/client, the client will fail to parse the network response.With this option enabled, each enum will have a new case, 'unknown_default_open_api', so that when the server sends an enum case that is not known by the client/spec, they can safely fallback to this case.|<dl><dt>**false**</dt><dd>No changes to the enum's are made, this is the default option.</dd><dt>**true**</dt><dd>With this option enabled, each enum will have a new case, 'unknown_default_open_api', so that when the enum case sent by the server is not known by the client/spec, can safely be decoded to this case.</dd></dl>|false| | ||||
| |fileContentDataType|Specifies the type to use for the content of a file - i.e. Blob (Browser, Deno) / Buffer (node)| |Buffer| | ||||
| |framework|Specify the framework which should be used in the client code.|<dl><dt>**fetch-api**</dt><dd>fetch-api</dd><dt>**jquery**</dt><dd>jquery</dd></dl>|fetch-api| | ||||
|  | ||||
| @ -229,6 +229,9 @@ public abstract class AbstractTypeScriptClientCodegen extends DefaultCodegen imp | ||||
| 
 | ||||
|     public static final String MODEL_PROPERTY_NAMING_DESC_WITH_WARNING = CodegenConstants.MODEL_PROPERTY_NAMING_DESC | ||||
|             + ". Only change it if you provide your own run-time code for (de-)serialization of models"; | ||||
|     public static final String ENUM_PROPERTY_NAMING_REPLACE_SPECIAL_CHAR = "enumPropertyNamingReplaceSpecialChar"; | ||||
|     public static final String ENUM_PROPERTY_NAMING_REPLACE_SPECIAL_CHAR_DESC = "Set to true to replace '-' and '+' symbols with 'minus_' and 'plus_' in enum of type string"; | ||||
| 
 | ||||
| 
 | ||||
|     public static final String NULL_SAFE_ADDITIONAL_PROPS = "nullSafeAdditionalProps"; | ||||
|     public static final String NULL_SAFE_ADDITIONAL_PROPS_DESC = "Set to make additional properties types declare that their indexer may return undefined"; | ||||
| @ -240,6 +243,7 @@ public abstract class AbstractTypeScriptClientCodegen extends DefaultCodegen imp | ||||
|     protected MODEL_PROPERTY_NAMING_TYPE modelPropertyNaming = MODEL_PROPERTY_NAMING_TYPE.original; | ||||
|     protected ENUM_PROPERTY_NAMING_TYPE enumPropertyNaming = ENUM_PROPERTY_NAMING_TYPE.PascalCase; | ||||
|     protected PARAM_NAMING_TYPE paramNaming = PARAM_NAMING_TYPE.camelCase; | ||||
|     protected boolean enumPropertyNamingReplaceSpecialChar = false; | ||||
|     protected Boolean supportsES6 = false; | ||||
|     protected Boolean nullSafeAdditionalProps = false; | ||||
|     protected HashSet<String> languageGenericTypes; | ||||
| @ -361,6 +365,7 @@ public abstract class AbstractTypeScriptClientCodegen extends DefaultCodegen imp | ||||
|                 "When setting this property to true, the version will be suffixed with -SNAPSHOT." + SNAPSHOT_SUFFIX_FORMAT.get().toPattern(), | ||||
|                 false)); | ||||
|         this.cliOptions.add(new CliOption(NULL_SAFE_ADDITIONAL_PROPS, NULL_SAFE_ADDITIONAL_PROPS_DESC).defaultValue(String.valueOf(this.getNullSafeAdditionalProps()))); | ||||
|         this.cliOptions.add(CliOption.newBoolean(ENUM_PROPERTY_NAMING_REPLACE_SPECIAL_CHAR, ENUM_PROPERTY_NAMING_REPLACE_SPECIAL_CHAR_DESC, false)); | ||||
|     } | ||||
| 
 | ||||
|     protected void supportModelPropertyNaming(MODEL_PROPERTY_NAMING_TYPE defaultModelPropertyNaming) { | ||||
| @ -386,6 +391,9 @@ public abstract class AbstractTypeScriptClientCodegen extends DefaultCodegen imp | ||||
|         if (additionalProperties.containsKey(CodegenConstants.ENUM_PROPERTY_NAMING)) { | ||||
|             setEnumPropertyNaming((String) additionalProperties.get(CodegenConstants.ENUM_PROPERTY_NAMING)); | ||||
|         } | ||||
|         if (additionalProperties.containsKey(ENUM_PROPERTY_NAMING_REPLACE_SPECIAL_CHAR)) { | ||||
|             setEnumPropertyNamingReplaceSpecialChar(Boolean.valueOf(additionalProperties.get(ENUM_PROPERTY_NAMING_REPLACE_SPECIAL_CHAR).toString())); | ||||
|         } | ||||
| 
 | ||||
|         if (additionalProperties.containsKey(CodegenConstants.MODEL_PROPERTY_NAMING)) { | ||||
|             setModelPropertyNaming((String) additionalProperties.get(CodegenConstants.MODEL_PROPERTY_NAMING)); | ||||
| @ -859,9 +867,11 @@ public abstract class AbstractTypeScriptClientCodegen extends DefaultCodegen imp | ||||
|             return getNameUsingEnumPropertyNaming(getSymbolName(name)); | ||||
|         } | ||||
| 
 | ||||
|         String varName = name; | ||||
| 
 | ||||
|         // number | ||||
|         if ("number".equals(datatype)) { | ||||
|             String varName = "NUMBER_" + name; | ||||
|             varName = "NUMBER_" + varName; | ||||
| 
 | ||||
|             varName = varName.replaceAll("-", "MINUS_"); | ||||
|             varName = varName.replaceAll("\\+", "PLUS_"); | ||||
| @ -870,16 +880,21 @@ public abstract class AbstractTypeScriptClientCodegen extends DefaultCodegen imp | ||||
|         } | ||||
| 
 | ||||
|         // string | ||||
|         String enumName = sanitizeName(name); | ||||
|         enumName = enumName.replaceFirst("^_", ""); | ||||
|         enumName = enumName.replaceFirst("_$", ""); | ||||
|         if (isEnumPropertyNamingReplaceSpecialChar()) { | ||||
|             varName = varName.replaceAll("-", "_minus_"); | ||||
|             varName = varName.replaceAll("\\+", "_plus_"); | ||||
|             varName = varName.replaceAll("_+", "_"); | ||||
|         } | ||||
|         varName = sanitizeName(varName); | ||||
|         varName = varName.replaceFirst("^_", ""); | ||||
|         varName = varName.replaceFirst("_$", ""); | ||||
| 
 | ||||
|         enumName = getNameUsingEnumPropertyNaming(enumName); | ||||
|         varName = getNameUsingEnumPropertyNaming(varName); | ||||
| 
 | ||||
|         if (enumName.matches("\\d.*")) { // starts with number | ||||
|             return "_" + enumName; | ||||
|         if (varName.matches("\\d.*")) { // starts with number | ||||
|             return "_" + varName; | ||||
|         } else { | ||||
|             return enumName; | ||||
|             return varName; | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
| @ -907,6 +922,14 @@ public abstract class AbstractTypeScriptClientCodegen extends DefaultCodegen imp | ||||
|         return enumPropertyNaming; | ||||
|     } | ||||
| 
 | ||||
|     protected void setEnumPropertyNamingReplaceSpecialChar(boolean replaceSpecialChars) { | ||||
|         enumPropertyNamingReplaceSpecialChar = replaceSpecialChars; | ||||
|     } | ||||
| 
 | ||||
|     protected boolean isEnumPropertyNamingReplaceSpecialChar() { | ||||
|         return enumPropertyNamingReplaceSpecialChar; | ||||
|     } | ||||
| 
 | ||||
|     private String getNameUsingEnumPropertyNaming(String name) { | ||||
|         switch (getEnumPropertyNaming()) { | ||||
|             case original: | ||||
|  | ||||
| @ -51,6 +51,7 @@ public class TypeScriptAngularClientOptionsProvider implements OptionsProvider { | ||||
|     public static String MODEL_SUFFIX = ""; | ||||
|     public static String MODEL_FILE_SUFFIX = ""; | ||||
|     public static final String ENUM_UNKNOWN_DEFAULT_CASE_VALUE = "false"; | ||||
|     public static final String ENUM_PROPERTY_NAMING_REPLACE_SPECIAL_CHAR_VALUE = "false"; | ||||
| 
 | ||||
|     @Override | ||||
|     public String getLanguage() { | ||||
| @ -68,6 +69,7 @@ public class TypeScriptAngularClientOptionsProvider implements OptionsProvider { | ||||
|                 .put(CodegenConstants.PARAM_NAMING, PARAM_NAMING_VALUE) | ||||
|                 .put(CodegenConstants.SUPPORTS_ES6, SUPPORTS_ES6_VALUE) | ||||
|                 .put(AbstractTypeScriptClientCodegen.NULL_SAFE_ADDITIONAL_PROPS, NULL_SAFE_ADDITIONAL_PROPS_VALUE) | ||||
|                 .put(AbstractTypeScriptClientCodegen.ENUM_PROPERTY_NAMING_REPLACE_SPECIAL_CHAR, ENUM_PROPERTY_NAMING_REPLACE_SPECIAL_CHAR_VALUE) | ||||
|                 .put(CodegenConstants.ENUM_NAME_SUFFIX, ENUM_NAME_SUFFIX) | ||||
|                 .put(TypeScriptAngularClientCodegen.STRING_ENUMS, STRING_ENUMS_VALUE) | ||||
|                 .put(TypeScriptAngularClientCodegen.NPM_NAME, NPM_NAME) | ||||
|  | ||||
| @ -39,6 +39,7 @@ public class TypeScriptAureliaClientOptionsProvider implements OptionsProvider { | ||||
|     public static final String ALLOW_UNICODE_IDENTIFIERS_VALUE = "false"; | ||||
|     public static final String PREPEND_FORM_OR_BODY_PARAMETERS_VALUE = "true"; | ||||
|     public static final String ENUM_UNKNOWN_DEFAULT_CASE_VALUE = "false"; | ||||
|     public static final String ENUM_PROPERTY_NAMING_REPLACE_SPECIAL_CHAR_VALUE = "false"; | ||||
| 
 | ||||
|     @Override | ||||
|     public String getLanguage() { | ||||
| @ -56,6 +57,7 @@ public class TypeScriptAureliaClientOptionsProvider implements OptionsProvider { | ||||
|                 .put(CodegenConstants.PARAM_NAMING, PARAM_NAMING_VALUE) | ||||
|                 .put(CodegenConstants.SUPPORTS_ES6, String.valueOf(SUPPORTS_ES6_VALUE)) | ||||
|                 .put(AbstractTypeScriptClientCodegen.NULL_SAFE_ADDITIONAL_PROPS, String.valueOf(NULL_SAFE_ADDITIONAL_PROPS_VALUE)) | ||||
|                 .put(AbstractTypeScriptClientCodegen.ENUM_PROPERTY_NAMING_REPLACE_SPECIAL_CHAR, ENUM_PROPERTY_NAMING_REPLACE_SPECIAL_CHAR_VALUE) | ||||
|                 .put(CodegenConstants.ENUM_NAME_SUFFIX, ENUM_NAME_SUFFIX) | ||||
|                 .put(TypeScriptAureliaClientCodegen.NPM_NAME, NPM_NAME) | ||||
|                 .put(TypeScriptAureliaClientCodegen.NPM_VERSION, NPM_VERSION) | ||||
|  | ||||
| @ -44,6 +44,7 @@ public class TypeScriptFetchClientOptionsProvider implements OptionsProvider { | ||||
|     public static final String SAGAS_AND_RECORDS = "false"; | ||||
|     public static final String ENUM_UNKNOWN_DEFAULT_CASE_VALUE = "false"; | ||||
|     public static final String STRING_ENUMS = "false"; | ||||
|     public static final String ENUM_PROPERTY_NAMING_REPLACE_SPECIAL_CHAR_VALUE = "false"; | ||||
| 
 | ||||
|     @Override | ||||
|     public String getLanguage() { | ||||
| @ -61,6 +62,7 @@ public class TypeScriptFetchClientOptionsProvider implements OptionsProvider { | ||||
|                 .put(CodegenConstants.PARAM_NAMING, PARAM_NAMING_VALUE) | ||||
|                 .put(CodegenConstants.SUPPORTS_ES6, String.valueOf(SUPPORTS_ES6_VALUE)) | ||||
|                 .put(AbstractTypeScriptClientCodegen.NULL_SAFE_ADDITIONAL_PROPS, String.valueOf(NULL_SAFE_ADDITIONAL_PROPS_VALUE)) | ||||
|                 .put(AbstractTypeScriptClientCodegen.ENUM_PROPERTY_NAMING_REPLACE_SPECIAL_CHAR, ENUM_PROPERTY_NAMING_REPLACE_SPECIAL_CHAR_VALUE) | ||||
|                 .put(CodegenConstants.ENUM_NAME_SUFFIX, ENUM_NAME_SUFFIX) | ||||
|                 .put(TypeScriptFetchClientCodegen.NPM_NAME, NMP_NAME) | ||||
|                 .put(TypeScriptFetchClientCodegen.NPM_VERSION, NMP_VERSION) | ||||
|  | ||||
| @ -47,6 +47,7 @@ public class TypeScriptNestjsClientOptionsProvider implements OptionsProvider { | ||||
|     public static String MODEL_SUFFIX = ""; | ||||
|     public static String MODEL_FILE_SUFFIX = ""; | ||||
|     public static final String ENUM_UNKNOWN_DEFAULT_CASE_VALUE = "false"; | ||||
|     public static final String ENUM_PROPERTY_NAMING_REPLACE_SPECIAL_CHAR_VALUE = "false"; | ||||
| 
 | ||||
|     @Override | ||||
|     public String getLanguage() { | ||||
| @ -64,6 +65,7 @@ public class TypeScriptNestjsClientOptionsProvider implements OptionsProvider { | ||||
|                 .put(CodegenConstants.PARAM_NAMING, PARAM_NAMING_VALUE) | ||||
|                 .put(CodegenConstants.SUPPORTS_ES6, SUPPORTS_ES6_VALUE) | ||||
|                 .put(AbstractTypeScriptClientCodegen.NULL_SAFE_ADDITIONAL_PROPS, NULL_SAFE_ADDITIONAL_PROPS_VALUE) | ||||
|                 .put(AbstractTypeScriptClientCodegen.ENUM_PROPERTY_NAMING_REPLACE_SPECIAL_CHAR, ENUM_PROPERTY_NAMING_REPLACE_SPECIAL_CHAR_VALUE) | ||||
|                 .put(CodegenConstants.ENUM_NAME_SUFFIX, ENUM_NAME_SUFFIX) | ||||
|                 .put(TypeScriptNestjsClientCodegen.STRING_ENUMS, STRING_ENUMS_VALUE) | ||||
|                 .put(TypeScriptNestjsClientCodegen.NPM_NAME, NMP_NAME) | ||||
|  | ||||
| @ -42,6 +42,7 @@ public class TypeScriptNodeClientOptionsProvider implements OptionsProvider { | ||||
|     public static final String ALLOW_UNICODE_IDENTIFIERS_VALUE = "false"; | ||||
|     public static final String PREPEND_FORM_OR_BODY_PARAMETERS_VALUE = "true"; | ||||
|     public static final String ENUM_UNKNOWN_DEFAULT_CASE_VALUE = "false"; | ||||
|     public static final String ENUM_PROPERTY_NAMING_REPLACE_SPECIAL_CHAR_VALUE = "false"; | ||||
| 
 | ||||
|     @Override | ||||
|     public String getLanguage() { | ||||
| @ -55,6 +56,7 @@ public class TypeScriptNodeClientOptionsProvider implements OptionsProvider { | ||||
|                 .put(CodegenConstants.SORT_MODEL_PROPERTIES_BY_REQUIRED_FLAG, SORT_MODEL_PROPERTIES_VALUE) | ||||
|                 .put(CodegenConstants.SUPPORTS_ES6, SUPPORTS_ES6_VALUE) | ||||
|                 .put(AbstractTypeScriptClientCodegen.NULL_SAFE_ADDITIONAL_PROPS, NULL_SAFE_ADDITIONAL_PROPS_VALUE) | ||||
|                 .put(AbstractTypeScriptClientCodegen.ENUM_PROPERTY_NAMING_REPLACE_SPECIAL_CHAR, ENUM_PROPERTY_NAMING_REPLACE_SPECIAL_CHAR_VALUE) | ||||
|                 .put(CodegenConstants.ENUM_NAME_SUFFIX, ENUM_NAME_SUFFIX) | ||||
|                 .put(CodegenConstants.ENSURE_UNIQUE_PARAMS, ENSURE_UNIQUE_PARAMS_VALUE) | ||||
|                 .put(CodegenConstants.ENUM_PROPERTY_NAMING, ENUM_PROPERTY_NAMING_VALUE) | ||||
|  | ||||
| @ -8,6 +8,7 @@ import io.swagger.v3.oas.models.media.StringSchema; | ||||
| import org.openapitools.codegen.CodegenConstants; | ||||
| import org.openapitools.codegen.SupportingFile; | ||||
| import org.openapitools.codegen.TestUtils; | ||||
| import org.openapitools.codegen.languages.AbstractTypeScriptClientCodegen; | ||||
| import org.openapitools.codegen.languages.TypeScriptFetchClientCodegen; | ||||
| import org.openapitools.codegen.typescript.TypeScriptGroups; | ||||
| import org.openapitools.codegen.utils.ModelUtils; | ||||
| @ -78,6 +79,38 @@ public class TypeScriptFetchClientCodegenTest { | ||||
|         Assert.assertEquals(codegen.toVarName("valid_var"), "valid_var"); | ||||
|     } | ||||
| 
 | ||||
|     @Test | ||||
|     public void toEnumVarName() { | ||||
|         TypeScriptFetchClientCodegen codegen = new TypeScriptFetchClientCodegen(); | ||||
|         codegen.processOpts(); | ||||
|         Assert.assertEquals(codegen.toEnumVarName("", "string"), "Empty"); | ||||
|         Assert.assertEquals(codegen.toEnumVarName("$", "string"), "Dollar"); | ||||
|         Assert.assertEquals(codegen.toEnumVarName("valid_var", "string"), "ValidVar"); | ||||
|         Assert.assertEquals(codegen.toEnumVarName("-valid_var+", "string"), "ValidVar"); | ||||
|         Assert.assertEquals(codegen.toEnumVarName("30valid_+var", "string"), "_30validVar"); | ||||
| 
 | ||||
|         codegen = new TypeScriptFetchClientCodegen(); | ||||
|         codegen.additionalProperties().put(CodegenConstants.ENUM_PROPERTY_NAMING, "original"); | ||||
|         codegen.processOpts(); | ||||
|         Assert.assertEquals(codegen.toEnumVarName("", "string"), "empty"); | ||||
|         Assert.assertEquals(codegen.toEnumVarName("$", "string"), "Dollar"); | ||||
|         Assert.assertEquals(codegen.toEnumVarName("valid_var", "string"), "valid_var"); | ||||
|         Assert.assertEquals(codegen.toEnumVarName("-valid_var+", "string"), "valid_var"); | ||||
|         Assert.assertEquals(codegen.toEnumVarName("30valid_+var", "string"), "_30valid_var"); | ||||
| 
 | ||||
|         codegen = new TypeScriptFetchClientCodegen(); | ||||
|         codegen.additionalProperties().put(CodegenConstants.ENUM_PROPERTY_NAMING, "UPPERCASE"); | ||||
|         codegen.additionalProperties().put(AbstractTypeScriptClientCodegen.ENUM_PROPERTY_NAMING_REPLACE_SPECIAL_CHAR, "true"); | ||||
|         codegen.processOpts(); | ||||
|         Assert.assertEquals(codegen.toEnumVarName("", "string"), "EMPTY"); | ||||
|         Assert.assertEquals(codegen.toEnumVarName("$", "string"), "DOLLAR"); | ||||
|         Assert.assertEquals(codegen.toEnumVarName("valid_var", "string"), "VALID_VAR"); | ||||
|         Assert.assertEquals(codegen.toEnumVarName("-valid_+var", "string"), "MINUS_VALID_PLUS_VAR"); | ||||
|         Assert.assertEquals(codegen.toEnumVarName("-valid_var+", "string"), "MINUS_VALID_VAR_PLUS"); | ||||
|         Assert.assertEquals(codegen.toEnumVarName("30valid_+var", "string"), "_30VALID_PLUS_VAR"); | ||||
| 
 | ||||
|     } | ||||
| 
 | ||||
|     @Test | ||||
|     public void getTypeDeclarationTest() { | ||||
|         Schema<?> childSchema = new ArraySchema().items(new StringSchema()); | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user