@typespec/http-client-python 0.23.0 → 0.24.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/emitter/code-model.d.ts.map +1 -1
- package/dist/emitter/code-model.js +35 -25
- package/dist/emitter/code-model.js.map +1 -1
- package/dist/emitter/http.d.ts +4 -4
- package/dist/emitter/http.d.ts.map +1 -1
- package/dist/emitter/http.js +41 -35
- package/dist/emitter/http.js.map +1 -1
- package/dist/emitter/types.d.ts +1 -1
- package/dist/emitter/types.d.ts.map +1 -1
- package/dist/emitter/types.js +2 -2
- package/dist/emitter/types.js.map +1 -1
- package/dist/emitter/utils.d.ts +2 -2
- package/dist/emitter/utils.d.ts.map +1 -1
- package/dist/emitter/utils.js +7 -6
- package/dist/emitter/utils.js.map +1 -1
- package/emitter/src/code-model.ts +61 -18
- package/emitter/src/http.ts +107 -22
- package/emitter/src/types.ts +2 -1
- package/emitter/src/utils.ts +14 -12
- package/emitter/temp/tsconfig.tsbuildinfo +1 -1
- package/eng/scripts/ci/dev_requirements.txt +3 -3
- package/eng/scripts/ci/pylintrc +1 -1
- package/eng/scripts/ci/regenerate.ts +8 -1
- package/eng/scripts/setup/__pycache__/package_manager.cpython-311.pyc +0 -0
- package/eng/scripts/setup/__pycache__/venvtools.cpython-311.pyc +0 -0
- package/generator/build/lib/pygen/codegen/models/code_model.py +4 -0
- package/generator/build/lib/pygen/codegen/models/enum_type.py +8 -1
- package/generator/build/lib/pygen/codegen/models/list_type.py +6 -2
- package/generator/build/lib/pygen/codegen/models/model_type.py +2 -2
- package/generator/build/lib/pygen/codegen/models/operation.py +10 -1
- package/generator/build/lib/pygen/codegen/models/operation_group.py +3 -1
- package/generator/build/lib/pygen/codegen/models/request_builder.py +20 -3
- package/generator/build/lib/pygen/codegen/models/response.py +2 -2
- package/generator/build/lib/pygen/codegen/models/utils.py +7 -0
- package/generator/build/lib/pygen/codegen/serializers/builder_serializer.py +26 -12
- package/generator/build/lib/pygen/codegen/serializers/client_serializer.py +1 -2
- package/generator/build/lib/pygen/codegen/serializers/general_serializer.py +1 -1
- package/generator/build/lib/pygen/codegen/serializers/model_serializer.py +3 -0
- package/generator/build/lib/pygen/codegen/templates/enum.py.jinja2 +3 -1
- package/generator/build/lib/pygen/codegen/templates/model_base.py.jinja2 +65 -9
- package/generator/build/lib/pygen/codegen/templates/serialization.py.jinja2 +14 -3
- package/generator/dist/pygen-0.1.0-py3-none-any.whl +0 -0
- package/generator/pygen/codegen/models/code_model.py +4 -0
- package/generator/pygen/codegen/models/enum_type.py +8 -1
- package/generator/pygen/codegen/models/list_type.py +6 -2
- package/generator/pygen/codegen/models/model_type.py +2 -2
- package/generator/pygen/codegen/models/operation.py +10 -1
- package/generator/pygen/codegen/models/operation_group.py +3 -1
- package/generator/pygen/codegen/models/request_builder.py +20 -3
- package/generator/pygen/codegen/models/response.py +2 -2
- package/generator/pygen/codegen/models/utils.py +7 -0
- package/generator/pygen/codegen/serializers/builder_serializer.py +26 -12
- package/generator/pygen/codegen/serializers/client_serializer.py +1 -2
- package/generator/pygen/codegen/serializers/general_serializer.py +1 -1
- package/generator/pygen/codegen/serializers/model_serializer.py +3 -0
- package/generator/pygen/codegen/templates/enum.py.jinja2 +3 -1
- package/generator/pygen/codegen/templates/model_base.py.jinja2 +65 -9
- package/generator/pygen/codegen/templates/serialization.py.jinja2 +14 -3
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_client_default_value_async.py +46 -0
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_client_location_async.py +48 -21
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_resource_manager_multi_service_async.py +110 -0
- package/generator/test/azure/mock_api_tests/asynctests/test_service_multi_service_async.py +31 -0
- package/generator/test/azure/mock_api_tests/asynctests/test_special_words_async.py +18 -0
- package/generator/test/azure/mock_api_tests/test_azure_arm_operationtemplates.py +16 -0
- package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_client_default_value.py +42 -0
- package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_client_location.py +44 -19
- package/generator/test/azure/mock_api_tests/test_azure_resource_manager_multi_service.py +104 -0
- package/generator/test/azure/mock_api_tests/test_service_multi_service.py +29 -0
- package/generator/test/azure/mock_api_tests/test_special_words.py +17 -0
- package/generator/test/azure/requirements.txt +9 -1
- package/generator/test/generic_mock_api_tests/asynctests/test_parameters_query_async.py +18 -0
- package/generator/test/generic_mock_api_tests/test_parameters_query.py +17 -0
- package/generator/test/generic_mock_api_tests/test_typetest_scalar.py +0 -5
- package/generator/test/generic_mock_api_tests/test_typetest_union_discriminated.py +290 -0
- package/generator/test/unbranded/requirements.txt +2 -0
- package/generator/test/unittests/test_model_base_serialization.py +323 -5
- package/package.json +5 -5
package/emitter/src/utils.ts
CHANGED
|
@@ -162,16 +162,17 @@ export function getAddedOn<TServiceOperation extends SdkServiceOperation>(
|
|
|
162
162
|
| SdkMethodParameter
|
|
163
163
|
| SdkHttpParameter
|
|
164
164
|
| SdkMethod<TServiceOperation>,
|
|
165
|
+
serviceApiVersions: string[] = [],
|
|
165
166
|
): string | undefined {
|
|
166
|
-
// since we do not support multi-service for now, we can just check the root client's api version
|
|
167
167
|
// if type is added in the first version of the client, we do not need to add the versioning info
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
(
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
168
|
+
const apiVersions =
|
|
169
|
+
serviceApiVersions.length > 0
|
|
170
|
+
? serviceApiVersions
|
|
171
|
+
: (context.sdkPackage.clients.find(
|
|
172
|
+
(c) => c.clientInitialization.initializedBy | InitializedByFlags.Individually,
|
|
173
|
+
)?.apiVersions ?? []);
|
|
174
|
+
|
|
175
|
+
if (type.apiVersions[0] === apiVersions[0]) return undefined;
|
|
175
176
|
return type.apiVersions[0];
|
|
176
177
|
}
|
|
177
178
|
|
|
@@ -192,9 +193,9 @@ export function isContinuationToken<TServiceOperation extends SdkServiceOperatio
|
|
|
192
193
|
if (input) {
|
|
193
194
|
return Boolean(
|
|
194
195
|
parameterSegments &&
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
196
|
+
parameterSegments.length > 0 &&
|
|
197
|
+
(parameter.kind === "header" || parameter.kind === "query" || parameter.kind === "body") &&
|
|
198
|
+
parameterSegments.at(-1) === parameter.correspondingMethodParams.at(-1),
|
|
198
199
|
);
|
|
199
200
|
}
|
|
200
201
|
|
|
@@ -207,6 +208,7 @@ export function emitParamBase<TServiceOperation extends SdkServiceOperation>(
|
|
|
207
208
|
context: PythonSdkContext,
|
|
208
209
|
parameter: SdkEndpointParameter | SdkCredentialParameter | SdkMethodParameter | SdkHttpParameter,
|
|
209
210
|
method?: SdkServiceMethod<TServiceOperation>,
|
|
211
|
+
serviceApiVersions: string[] = [],
|
|
210
212
|
): ParamBase {
|
|
211
213
|
let type = getType(context, parameter.type);
|
|
212
214
|
if (parameter.isApiVersionParam) {
|
|
@@ -231,7 +233,7 @@ export function emitParamBase<TServiceOperation extends SdkServiceOperation>(
|
|
|
231
233
|
return {
|
|
232
234
|
optional: parameter.optional,
|
|
233
235
|
description: (parameter.summary ? parameter.summary : parameter.doc) ?? "",
|
|
234
|
-
addedOn: getAddedOn(context, parameter),
|
|
236
|
+
addedOn: getAddedOn(context, parameter, serviceApiVersions),
|
|
235
237
|
clientName,
|
|
236
238
|
inOverload: false,
|
|
237
239
|
isApiVersion: parameter.isApiVersionParam,
|