Update typescript open API generator to handle the IntOrString type (#213)

* Update typescript open API generator to handle the IntOrString type

* remove trailing comma
This commit is contained in:
alex bezek
2021-11-19 09:10:52 -08:00
committed by GitHub
parent 291f9a6ca5
commit 82c3ff5294
2 changed files with 12 additions and 6 deletions

View File

@@ -121,7 +121,7 @@ def strip_401_response(operation, _):
def transform_to_csharp_stream_response(operation, _): def transform_to_csharp_stream_response(operation, _):
if operation.get('operationId', None) == 'readNamespacedPodLog' or operation.get('x-kubernetes-action', None) == 'connect': if operation.get('operationId', None) == 'readNamespacedPodLog' or operation.get('x-kubernetes-action', None) == 'connect':
operation['responses']['200']["schema"] = { operation['responses']['200']["schema"] = {
"type": "object", "type": "object",
"format": "file" , "format": "file" ,
} }
@@ -190,7 +190,7 @@ def process_swagger(spec, client_language, crd_mode=False):
# force to autorest to generate stream # force to autorest to generate stream
apply_func_to_spec_operations(spec, transform_to_csharp_stream_response) apply_func_to_spec_operations(spec, transform_to_csharp_stream_response)
# force to consume json if */* # force to consume json if */*
apply_func_to_spec_operations(spec, transform_to_csharp_consume_json) apply_func_to_spec_operations(spec, transform_to_csharp_consume_json)
apply_func_to_spec_operations(spec, strip_delete_collection_operation_watch_params) apply_func_to_spec_operations(spec, strip_delete_collection_operation_watch_params)
@@ -235,6 +235,8 @@ def preserved_primitives_for_language(client_language):
return ["intstr.IntOrString", "resource.Quantity", "v1.Patch"] return ["intstr.IntOrString", "resource.Quantity", "v1.Patch"]
elif client_language == "haskell-http-client": elif client_language == "haskell-http-client":
return ["intstr.IntOrString", "resource.Quantity"] return ["intstr.IntOrString", "resource.Quantity"]
elif client_language == "typescript":
return ["intstr.IntOrString"]
else: else:
return [] return []
@@ -254,8 +256,8 @@ def type_for_language(client_language):
return {"v1.Patch": { "type": "string"}} return {"v1.Patch": { "type": "string"}}
elif client_language == "csharp": elif client_language == "csharp":
return { return {
"v1.Patch": { "type": "object", "properties": {"content": { "type": "object"}} }, "v1.Patch": { "type": "object", "properties": {"content": { "type": "object"}} },
"resource.Quantity": { "type": "object", "properties": {"value": { "type": "string"}} }, "resource.Quantity": { "type": "object", "properties": {"value": { "type": "string"}} },
"intstr.IntOrString" : { "type": "object", "properties": {"value": { "type": "string"}} }, "intstr.IntOrString" : { "type": "object", "properties": {"value": { "type": "string"}} },
} }
else: else:

View File

@@ -1,5 +1,5 @@
<project <project
xmlns="http://maven.apache.org/POM/4.0.0" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<groupId>io.kubernetes</groupId> <groupId>io.kubernetes</groupId>
@@ -22,6 +22,9 @@
<inputSpec>${generator.spec.path}</inputSpec> <inputSpec>${generator.spec.path}</inputSpec>
<skipValidateSpec>true</skipValidateSpec> <skipValidateSpec>true</skipValidateSpec>
<generatorName>typescript-node</generatorName> <generatorName>typescript-node</generatorName>
<importMappings>
IntOrString=../../types
</importMappings>
<output>${generator.output.path}</output> <output>${generator.output.path}</output>
<configOptions> <configOptions>
<sortParamsByRequiredFlag>true</sortParamsByRequiredFlag> <sortParamsByRequiredFlag>true</sortParamsByRequiredFlag>
@@ -30,6 +33,7 @@
<npmVersion>${generator.client.version}</npmVersion> <npmVersion>${generator.client.version}</npmVersion>
<modelPropertyNaming>original</modelPropertyNaming> <modelPropertyNaming>original</modelPropertyNaming>
</configOptions> </configOptions>
<typeMappings>int-or-string=IntOrString</typeMappings>
</configuration> </configuration>
</execution> </execution>
</executions> </executions>