@typespec/http-client-python 0.8.1 → 0.8.2
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/README.md +92 -84
- package/dist/emitter/code-model.d.ts +1 -2
- package/dist/emitter/code-model.d.ts.map +1 -1
- package/dist/emitter/code-model.js +2 -2
- package/dist/emitter/code-model.js.map +1 -1
- package/dist/emitter/emitter.d.ts +0 -2
- package/dist/emitter/emitter.d.ts.map +1 -1
- package/dist/emitter/emitter.js +21 -32
- package/dist/emitter/emitter.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.map +1 -1
- package/dist/emitter/index.d.ts +1 -1
- package/dist/emitter/index.d.ts.map +1 -1
- package/dist/emitter/index.js +1 -1
- package/dist/emitter/index.js.map +1 -1
- package/dist/emitter/lib.d.ts +65 -21
- package/dist/emitter/lib.d.ts.map +1 -1
- package/dist/emitter/lib.js +56 -26
- package/dist/emitter/lib.js.map +1 -1
- package/dist/emitter/types.d.ts +3 -3
- package/dist/emitter/types.d.ts.map +1 -1
- package/dist/emitter/types.js.map +1 -1
- package/dist/emitter/utils.d.ts +5 -4
- package/dist/emitter/utils.d.ts.map +1 -1
- package/dist/emitter/utils.js +31 -16
- package/dist/emitter/utils.js.map +1 -1
- package/emitter/src/code-model.ts +13 -25
- package/emitter/src/emitter.ts +35 -51
- package/emitter/src/http.ts +18 -21
- package/emitter/src/index.ts +1 -1
- package/emitter/src/lib.ts +68 -40
- package/emitter/src/types.ts +13 -23
- package/emitter/src/utils.ts +36 -25
- package/emitter/temp/tsconfig.tsbuildinfo +1 -1
- package/eng/scripts/Generate.ps1 +3 -0
- package/eng/scripts/ci/regenerate.ts +92 -41
- package/eng/scripts/setup/__pycache__/venvtools.cpython-38.pyc +0 -0
- package/generator/build/lib/pygen/codegen/__init__.py +0 -2
- package/generator/build/lib/pygen/codegen/models/code_model.py +5 -5
- package/generator/build/lib/pygen/codegen/serializers/__init__.py +18 -14
- package/generator/build/lib/pygen/codegen/serializers/general_serializer.py +5 -2
- package/generator/build/lib/pygen/codegen/serializers/test_serializer.py +1 -1
- package/generator/build/lib/pygen/codegen/templates/packaging_templates/MANIFEST.in.jinja2 +6 -2
- package/generator/build/lib/pygen/codegen/templates/packaging_templates/README.md.jinja2 +5 -5
- package/generator/build/lib/pygen/codegen/templates/packaging_templates/dev_requirements.txt.jinja2 +3 -3
- package/generator/build/lib/pygen/codegen/templates/packaging_templates/setup.py.jinja2 +14 -5
- package/generator/dist/pygen-0.1.0-py3-none-any.whl +0 -0
- package/generator/pygen/codegen/__init__.py +0 -2
- package/generator/pygen/codegen/models/code_model.py +5 -5
- package/generator/pygen/codegen/serializers/__init__.py +18 -14
- package/generator/pygen/codegen/serializers/general_serializer.py +5 -2
- package/generator/pygen/codegen/serializers/test_serializer.py +1 -1
- package/generator/pygen/codegen/templates/packaging_templates/MANIFEST.in.jinja2 +6 -2
- package/generator/pygen/codegen/templates/packaging_templates/README.md.jinja2 +5 -5
- package/generator/pygen/codegen/templates/packaging_templates/dev_requirements.txt.jinja2 +3 -3
- package/generator/pygen/codegen/templates/packaging_templates/setup.py.jinja2 +14 -5
- package/generator/pygen.egg-info/PKG-INFO +2 -2
- package/generator/pygen.egg-info/requires.txt +2 -2
- package/generator/setup.py +2 -2
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_core_lro_rpc_async.py +2 -2
- package/generator/test/azure/mock_api_tests/test_azure_core_lro_rpc.py +1 -1
- package/generator/test/azure/requirements.txt +1 -1
- package/package.json +6 -5
package/emitter/src/utils.ts
CHANGED
|
@@ -110,8 +110,8 @@ export function removeUnderscoresFromNamespace(name?: string): string {
|
|
|
110
110
|
return (name || "").replace(/_/g, "");
|
|
111
111
|
}
|
|
112
112
|
|
|
113
|
-
export function getImplementation
|
|
114
|
-
context: PythonSdkContext
|
|
113
|
+
export function getImplementation(
|
|
114
|
+
context: PythonSdkContext,
|
|
115
115
|
parameter: SdkParameter | SdkHttpParameter,
|
|
116
116
|
): "Client" | "Method" {
|
|
117
117
|
if (parameter.onClient) return "Client";
|
|
@@ -156,7 +156,7 @@ type ParamBase = {
|
|
|
156
156
|
};
|
|
157
157
|
|
|
158
158
|
export function getAddedOn<TServiceOperation extends SdkServiceOperation>(
|
|
159
|
-
context: PythonSdkContext
|
|
159
|
+
context: PythonSdkContext,
|
|
160
160
|
type: SdkModelPropertyType | SdkMethod<TServiceOperation>,
|
|
161
161
|
): string | undefined {
|
|
162
162
|
// since we do not support multi-service for now, we can just check the root client's api version
|
|
@@ -200,7 +200,7 @@ export function isContinuationToken<TServiceOperation extends SdkServiceOperatio
|
|
|
200
200
|
}
|
|
201
201
|
|
|
202
202
|
export function emitParamBase<TServiceOperation extends SdkServiceOperation>(
|
|
203
|
-
context: PythonSdkContext
|
|
203
|
+
context: PythonSdkContext,
|
|
204
204
|
parameter: SdkParameter | SdkHttpParameter,
|
|
205
205
|
method?: SdkServiceMethod<TServiceOperation>,
|
|
206
206
|
): ParamBase {
|
|
@@ -242,31 +242,42 @@ export function capitalize(name: string): string {
|
|
|
242
242
|
return name[0].toUpperCase() + name.slice(1);
|
|
243
243
|
}
|
|
244
244
|
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
245
|
+
const LIB_NAMESPACE = [
|
|
246
|
+
"azure.core",
|
|
247
|
+
"azure.resourcemanager",
|
|
248
|
+
"azure.clientgenerator.core",
|
|
249
|
+
"typespec.rest",
|
|
250
|
+
"typespec.http",
|
|
251
|
+
"typespec.versioning",
|
|
252
|
+
];
|
|
253
|
+
|
|
254
|
+
export function getRootNamespace(context: PythonSdkContext): string {
|
|
255
|
+
let rootNamespace = "";
|
|
256
|
+
if (context.sdkPackage.clients.length > 0) {
|
|
257
|
+
rootNamespace = context.sdkPackage.clients[0].namespace;
|
|
258
|
+
} else if (context.sdkPackage.models.length > 0) {
|
|
259
|
+
const result = context.sdkPackage.models
|
|
260
|
+
.map((model) => model.namespace)
|
|
261
|
+
.filter((namespace) => !LIB_NAMESPACE.includes(namespace));
|
|
262
|
+
if (result.length > 0) {
|
|
263
|
+
result.sort();
|
|
264
|
+
rootNamespace = result[0];
|
|
265
|
+
}
|
|
266
|
+
} else if (context.sdkPackage.namespaces.length > 0) {
|
|
267
|
+
rootNamespace = context.sdkPackage.namespaces[0].fullName;
|
|
254
268
|
}
|
|
269
|
+
|
|
270
|
+
return removeUnderscoresFromNamespace(rootNamespace).toLowerCase();
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
export function getClientNamespace(context: PythonSdkContext, clientNamespace: string) {
|
|
255
274
|
if (
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
"azure.resourcemanager",
|
|
259
|
-
"azure.clientgenerator.core",
|
|
260
|
-
"typespec.rest",
|
|
261
|
-
"typespec.http",
|
|
262
|
-
"typespec.versioning",
|
|
263
|
-
].some((item) => clientNamespace.toLowerCase().startsWith(item))
|
|
275
|
+
clientNamespace === "" ||
|
|
276
|
+
LIB_NAMESPACE.some((item) => clientNamespace.toLowerCase().startsWith(item))
|
|
264
277
|
) {
|
|
265
|
-
return
|
|
278
|
+
return getRootNamespace(context);
|
|
266
279
|
}
|
|
267
|
-
return clientNamespace
|
|
268
|
-
? rootNamespace
|
|
269
|
-
: removeUnderscoresFromNamespace(clientNamespace).toLowerCase();
|
|
280
|
+
return removeUnderscoresFromNamespace(clientNamespace).toLowerCase();
|
|
270
281
|
}
|
|
271
282
|
|
|
272
283
|
function parseToken(token: Token): string {
|