@azure-tools/typespec-python 0.13.1 → 0.13.3

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.
@@ -1,17 +1,4 @@
1
- import { EmitContext, Type } from "@typespec/compiler";
2
- import { HttpAuth } from "@typespec/http";
3
- import { SdkContext } from "@azure-tools/typespec-client-generator-core";
1
+ import { EmitContext } from "@typespec/compiler";
4
2
  import { PythonEmitterOptions } from "./lib.js";
5
- interface CredentialType {
6
- kind: "Credential";
7
- scheme: HttpAuth;
8
- }
9
- interface CredentialTypeUnion {
10
- kind: "CredentialTypeUnion";
11
- types: CredentialType[];
12
- }
13
- type EmitterType = Type | CredentialType | CredentialTypeUnion;
14
3
  export declare function $onEmit(context: EmitContext<PythonEmitterOptions>): Promise<void>;
15
- export declare function getType(context: SdkContext, type: EmitterType): any;
16
- export {};
17
4
  //# sourceMappingURL=emitter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"emitter.d.ts","sourceRoot":"","sources":["../../src/emitter.ts"],"names":[],"mappings":"AACA,OAAO,EAiBH,WAAW,EAGX,IAAI,EAGP,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAOH,QAAQ,EAQX,MAAM,gBAAgB,CAAC;AAExB,OAAO,EASH,UAAU,EAYb,MAAM,6CAA6C,CAAC;AAOrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAQhD,UAAU,cAAc;IACpB,IAAI,EAAE,YAAY,CAAC;IACnB,MAAM,EAAE,QAAQ,CAAC;CACpB;AAED,UAAU,mBAAmB;IACzB,IAAI,EAAE,qBAAqB,CAAC;IAC5B,KAAK,EAAE,cAAc,EAAE,CAAC;CAC3B;AAED,KAAK,WAAW,GAAG,IAAI,GAAG,cAAc,GAAG,mBAAmB,CAAC;AAc/D,wBAAsB,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,oBAAoB,CAAC,iBAuBvE;AA2FD,wBAAgB,OAAO,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,GAAG,GAAG,CAyDnE"}
1
+ {"version":3,"file":"emitter.d.ts","sourceRoot":"","sources":["../../src/emitter.ts"],"names":[],"mappings":"AACA,OAAO,EAQH,WAAW,EAId,MAAM,oBAAoB,CAAC;AAgC5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAuBhD,wBAAsB,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,oBAAoB,CAAC,iBA0BvE"}
@@ -1,24 +1,19 @@
1
1
  import { getPagedResult, getLroMetadata } from "@azure-tools/typespec-azure-core";
2
- import { getDoc, getEncode, getFriendlyName, getSummary, getVisibility, ignoreDiagnostics, isErrorModel, isNeverType, getEffectiveModelType, getDiscriminator, listServices, getNamespaceFullName, } from "@typespec/compiler";
3
- import { getAuthentication, getHeaderFieldName, getHttpOperation, getPathParamName, getQueryParamName, getServers, isStatusCode, isHeader, isQueryParam, } from "@typespec/http";
2
+ import { getDoc, getSummary, ignoreDiagnostics, isErrorModel, listServices, getNamespaceFullName, } from "@typespec/compiler";
3
+ import { getAuthentication, getHttpOperation, getServers, } from "@typespec/http";
4
4
  import { getAddedOnVersions } from "@typespec/versioning";
5
- import { listClients, listOperationGroups, listOperationsInOperationGroup, isApiVersion, getDefaultApiVersion, getClientNamespaceString, createSdkContext, getLibraryName, getAllModels, isInternal, getSdkSimpleType, getSdkListOrDict, getSdkUnion, getSdkEnum, getSdkConstant, getSdkModelPropertyType, } from "@azure-tools/typespec-client-generator-core";
5
+ import { listClients, listOperationGroups, listOperationsInOperationGroup, isApiVersion, getDefaultApiVersion, getClientNamespaceString, createSdkContext, getLibraryName, getAllModels, isInternal, getPropertyNames, getEffectivePayloadType, } from "@azure-tools/typespec-client-generator-core";
6
6
  import { getResourceOperation } from "@typespec/rest";
7
7
  import { resolveModuleRoot, saveCodeModelAsYaml } from "./external-process.js";
8
8
  import { dirname } from "path";
9
9
  import { fileURLToPath } from "url";
10
- import { dump } from "js-yaml";
11
10
  import { execFileSync } from "child_process";
11
+ import { camelToSnakeCase } from "./utils.js";
12
+ import { getConstantType, getType, KnownTypes, simpleTypesMap, typesMap, } from "./types.js";
12
13
  const defaultOptions = {
13
14
  "basic-setup-py": true,
14
15
  "package-version": "1.0.0b1",
15
16
  };
16
- const sdkScalarKindToPythonKind = {
17
- int32: "integer",
18
- int64: "integer",
19
- float32: "float",
20
- float64: "float",
21
- };
22
17
  export async function $onEmit(context) {
23
18
  const program = context.program;
24
19
  const resolvedOptions = { ...defaultOptions, ...context.options };
@@ -38,145 +33,19 @@ export async function $onEmit(context) {
38
33
  if (resolvedOptions.debug) {
39
34
  commandArgs.push("--debug");
40
35
  }
36
+ if (yamlMap.clients[0].arm === true) {
37
+ commandArgs.push("--azure-arm=true");
38
+ }
41
39
  if (!program.compilerOptions.noEmit && !program.hasError()) {
42
40
  execFileSync(process.execPath, commandArgs);
43
41
  }
44
42
  }
45
- function camelToSnakeCase(name) {
46
- if (!name)
47
- return name;
48
- const camelToSnakeCaseRe = (str) => str
49
- .replace("/", "_")
50
- .replace(/\s+/g, "_")
51
- .replace(/\$/g, "")
52
- .replace(/-/g, "_")
53
- .replace(/[A-Z]/g, (letter) => `_${letter.toLowerCase()}`);
54
- return camelToSnakeCaseRe(name[0].toLowerCase() + name.slice(1));
55
- }
56
- const typesMap = new Map();
57
- const simpleTypesMap = new Map();
58
43
  const endpointPathParameters = [];
59
44
  let apiVersionParam = undefined;
60
45
  function getDocStr(context, target) {
61
46
  var _a;
62
47
  return (_a = getDoc(context.program, target)) !== null && _a !== void 0 ? _a : "";
63
48
  }
64
- function handleDiscriminator(context, type, model) {
65
- const discriminator = getDiscriminator(context.program, type);
66
- if (discriminator) {
67
- let discriminatorProperty;
68
- for (const childModel of type.derivedModels) {
69
- const modelType = getType(context, childModel);
70
- for (const property of modelType.properties) {
71
- if (property.wireName === discriminator.propertyName) {
72
- modelType.discriminatorValue = property.type.value;
73
- property.isDiscriminator = true;
74
- model.discriminatedSubtypes[property.type.value] = modelType;
75
- discriminatorProperty = property;
76
- }
77
- }
78
- }
79
- // it may not be included in properties of base model but needed by python codegen
80
- if (discriminatorProperty) {
81
- const discriminatorType = { ...discriminatorProperty.type };
82
- discriminatorType.value = null;
83
- const propertyCopy = {
84
- ...discriminatorProperty,
85
- isPolymorphic: true,
86
- type: discriminatorType,
87
- };
88
- propertyCopy.description = "";
89
- for (let i = 0; i < model.properties.length; i++) {
90
- if (model.properties[i].wireName === discriminator.propertyName) {
91
- model.properties[i] = propertyCopy;
92
- return;
93
- }
94
- }
95
- model.properties.push(propertyCopy);
96
- }
97
- }
98
- }
99
- function getEffectiveSchemaType(context, type) {
100
- const program = context.program;
101
- function isSchemaProperty(property) {
102
- const headerInfo = getHeaderFieldName(program, property);
103
- const queryInfo = getQueryParamName(program, property);
104
- const pathInfo = getPathParamName(program, property);
105
- const statusCodeinfo = isStatusCode(program, property);
106
- return !(headerInfo || queryInfo || pathInfo || statusCodeinfo);
107
- }
108
- const effective = getEffectiveModelType(program, type, isSchemaProperty);
109
- if (effective.name) {
110
- return effective;
111
- }
112
- return type;
113
- }
114
- function isEmptyModel(context, type) {
115
- // object, {} will be treated as empty model, user defined empty model will not
116
- const [objectType] = context.program.resolveTypeReference("TypeSpec.object");
117
- return (type.kind === "Model" &&
118
- type.properties.size === 0 &&
119
- !type.baseModel &&
120
- type.derivedModels.length === 0 &&
121
- !type.indexer &&
122
- (type === objectType || type.name === ""));
123
- }
124
- export function getType(context, type) {
125
- // don't cache simple type(string, int, etc) since decorators may change the result
126
- const program = context.program;
127
- let oriType;
128
- if (type.kind === "ModelProperty") {
129
- oriType = type;
130
- type = type.type;
131
- }
132
- const enableCache = type.kind !== "Scalar" && !isEmptyModel(context, type);
133
- const effectiveModel = type.kind === "Model" ? getEffectiveSchemaType(context, type) : type;
134
- if (enableCache) {
135
- const cached = typesMap.get(effectiveModel);
136
- if (cached) {
137
- return cached;
138
- }
139
- }
140
- let newValue;
141
- if (isEmptyModel(context, type)) {
142
- // do not generate model for empty model, treat it as any
143
- newValue = { type: "any" };
144
- }
145
- else {
146
- newValue = emitType(context, type);
147
- }
148
- if ((oriType === null || oriType === void 0 ? void 0 : oriType.kind) === "ModelProperty") {
149
- updateWithEncode(context, oriType, newValue);
150
- }
151
- if (enableCache) {
152
- typesMap.set(effectiveModel, newValue);
153
- if (type.kind === "Model") {
154
- // need to do properties after insertion to avoid infinite recursion
155
- for (const property of type.properties.values()) {
156
- if (isStatusCode(program, property) ||
157
- isNeverType(property.type) ||
158
- isHeader(program, property) ||
159
- isQueryParam(program, property)) {
160
- continue;
161
- }
162
- newValue.properties.push(emitProperty(context, property));
163
- }
164
- // need to do discriminator outside `emitModel` to avoid infinite recursion
165
- handleDiscriminator(context, type, newValue);
166
- }
167
- }
168
- else {
169
- const key = dump(newValue, { sortKeys: true });
170
- const value = simpleTypesMap.get(key);
171
- if (value) {
172
- newValue = value;
173
- }
174
- else {
175
- simpleTypesMap.set(key, newValue);
176
- }
177
- }
178
- return newValue;
179
- }
180
49
  // To pass the yaml dump
181
50
  function getAddedOnVersion(context, t) {
182
51
  const versions = getAddedOnVersions(context.program, t);
@@ -192,7 +61,7 @@ function emitParamBase(context, parameter) {
192
61
  let addedOn;
193
62
  if (parameter.kind === "ModelProperty") {
194
63
  optional = parameter.optional;
195
- name = getSdkModelPropertyType(context, parameter).name;
64
+ name = parameter.name;
196
65
  description = getDocStr(context, parameter);
197
66
  addedOn = getAddedOnVersion(context, parameter);
198
67
  }
@@ -218,7 +87,7 @@ function getBodyType(context, route) {
218
87
  if (resp && resp.responses && resp.responses.length > 0) {
219
88
  const responseBody = (_c = resp.responses[0]) === null || _c === void 0 ? void 0 : _c.body;
220
89
  if (((_d = responseBody === null || responseBody === void 0 ? void 0 : responseBody.type) === null || _d === void 0 ? void 0 : _d.kind) === "Model") {
221
- const bodyTypeInResponse = getEffectiveSchemaType(context, responseBody.type);
90
+ const bodyTypeInResponse = getEffectivePayloadType(context, responseBody.type);
222
91
  // response body type is reosurce type, and request body type (if templated) contains resource type
223
92
  if (bodyTypeInResponse === resourceType &&
224
93
  bodyModel.templateMapper &&
@@ -260,6 +129,7 @@ function emitBodyParameter(context, httpOperation) {
260
129
  }
261
130
  function emitParameter(context, parameter, implementation) {
262
131
  const base = emitParamBase(context, parameter.param);
132
+ base.clientName = camelToSnakeCase(getPropertyNames(context, parameter.param)[0]);
263
133
  let type = getType(context, parameter.param);
264
134
  let clientDefaultValue = undefined;
265
135
  if (parameter.name.toLowerCase() === "content-type" && type["type"] === "constant") {
@@ -345,22 +215,6 @@ function emitFlattenedParameter(bodyParameter, property) {
345
215
  defaultToUnsetSentinel: true,
346
216
  };
347
217
  }
348
- function getConstantType(key) {
349
- const cache = simpleTypesMap.get(key);
350
- if (cache) {
351
- return cache;
352
- }
353
- const type = {
354
- apiVersions: [],
355
- clientDefaultValue: null,
356
- type: "constant",
357
- value: key,
358
- valueType: KnownTypes.string,
359
- xmlMetadata: {},
360
- };
361
- simpleTypesMap.set(key, type);
362
- return type;
363
- }
364
218
  function emitAcceptParameter(inOverload, inOverriden) {
365
219
  return {
366
220
  checkClientInput: false,
@@ -411,7 +265,7 @@ function getBodyFromResponse(context, response) {
411
265
  }
412
266
  }
413
267
  if (body && body.kind === "Model") {
414
- body = getEffectiveSchemaType(context, body);
268
+ body = getEffectivePayloadType(context, body);
415
269
  }
416
270
  return body;
417
271
  }
@@ -421,7 +275,7 @@ function emitResponse(context, response) {
421
275
  if (body) {
422
276
  if (body.kind === "Model") {
423
277
  if (body && body.decorators.find((d) => d.decorator.name === "$pagedResult")) {
424
- type = getType(context, Array.from(body.properties.values())[0].type);
278
+ type = getType(context, Array.from(body.properties.values())[0]);
425
279
  }
426
280
  else if (body && !isAzureCoreModel(body)) {
427
281
  type = getType(context, body);
@@ -468,7 +322,7 @@ function addLroInformation(context, tspOperation, emittedOperation, initialOpera
468
322
  const lroMeta = getLroMetadata(context.program, tspOperation);
469
323
  if (!isAzureCoreModel(lroMeta.logicalResult)) {
470
324
  emittedOperation["responses"][0]["type"] = getType(context, lroMeta.logicalResult);
471
- if (((_a = lroMeta.finalStep) === null || _a === void 0 ? void 0 : _a.target.kind) === "ModelProperty" && emittedOperation.method !== "PUT") {
325
+ if (((_a = lroMeta.finalStep) === null || _a === void 0 ? void 0 : _a.target.kind) === "ModelProperty") {
472
326
  emittedOperation["responses"][0]["resultProperty"] = lroMeta.finalStep.target.name;
473
327
  }
474
328
  addAcceptParameter(context, tspOperation, emittedOperation["parameters"]);
@@ -481,7 +335,9 @@ function addPagingInformation(context, operation, emittedOperation) {
481
335
  if (pagedResult === undefined) {
482
336
  throw Error("Trying to add paging information, but not paging metadata for this operation");
483
337
  }
484
- getType(context, pagedResult.modelType)["pageResultModel"] = true;
338
+ if (!isAzureCoreModel(pagedResult.modelType)) {
339
+ getType(context, pagedResult.modelType)["pageResultModel"] = true;
340
+ }
485
341
  emittedOperation["itemName"] = pagedResult.itemsPath;
486
342
  emittedOperation["itemType"] = getType(context, pagedResult.itemsProperty.type);
487
343
  emittedOperation["continuationTokenName"] = pagedResult.nextLinkPath;
@@ -621,274 +477,9 @@ function emitBasicOperation(context, operation, operationGroupName) {
621
477
  },
622
478
  ];
623
479
  }
624
- function emitProperty(context, type) {
625
- const sdkProperty = getSdkModelPropertyType(context, type);
626
- return {
627
- clientName: camelToSnakeCase(sdkProperty.name),
628
- wireName: sdkProperty.wireName,
629
- type: getType(context, type),
630
- optional: sdkProperty.optional,
631
- description: sdkProperty.doc,
632
- addedOn: getAddedOnVersion(context, type),
633
- visibility: getVisibility(context.program, type),
634
- };
635
- }
636
- function getName(context, type) {
637
- const friendlyName = getFriendlyName(context.program, type);
638
- if (friendlyName) {
639
- return friendlyName;
640
- }
641
- else {
642
- const modelName = getLibraryName(context, type);
643
- if (type.templateMapper && type.templateMapper.args.length > 0) {
644
- return modelName + type.templateMapper.args.map((it) => (it.kind === "Model" ? it.name : "")).join("");
645
- }
646
- else {
647
- return modelName;
648
- }
649
- }
650
- }
651
- function emitModel(context, type) {
652
- // Now we know it's a defined model
653
- const properties = [];
654
- let baseModel = undefined;
655
- if (type.baseModel) {
656
- baseModel = getType(context, type.baseModel);
657
- }
658
- const modelName = getName(context, type) || getEffectiveSchemaType(context, type).name;
659
- return {
660
- type: "model",
661
- name: modelName,
662
- description: getDocStr(context, type),
663
- parents: baseModel ? [baseModel] : [],
664
- discriminatedSubtypes: {},
665
- properties: properties,
666
- addedOn: getAddedOnVersion(context, type),
667
- snakeCaseName: modelName ? camelToSnakeCase(modelName) : modelName,
668
- base: modelName === "" ? "json" : "dpg",
669
- internal: isInternal(context, type),
670
- };
671
- }
672
- function enumName(name) {
673
- if (name.toUpperCase() === name) {
674
- return name;
675
- }
676
- return camelToSnakeCase(name).toUpperCase();
677
- }
678
- function emitEnumMember(type) {
679
- return {
680
- name: enumName(type.name),
681
- value: type.value,
682
- description: type.doc,
683
- };
684
- }
685
- function emitEnum(context, type) {
686
- const sdkType = getSdkEnum(context, type);
687
- return {
688
- type: sdkType.kind,
689
- name: sdkType.name,
690
- description: sdkType.doc,
691
- valueType: emitSimpleType(context, sdkType.valueType),
692
- values: sdkType.values.map((x) => emitEnumMember(x)),
693
- };
694
- }
695
- function emitCredential(auth) {
696
- let credential_type = {};
697
- if (auth.type === "oauth2") {
698
- credential_type = {
699
- type: "OAuth2",
700
- policy: {
701
- type: "BearerTokenCredentialPolicy",
702
- credentialScopes: [],
703
- },
704
- };
705
- for (const flow of auth.flows) {
706
- for (const scope of flow.scopes) {
707
- credential_type.policy.credentialScopes.push(scope.value);
708
- }
709
- credential_type.policy.credentialScopes.push();
710
- }
711
- }
712
- else if (auth.type === "apiKey") {
713
- credential_type = {
714
- type: "Key",
715
- policy: {
716
- type: "AzureKeyCredentialPolicy",
717
- key: auth.name,
718
- },
719
- };
720
- }
721
- else if (auth.type === "http") {
722
- credential_type = {
723
- type: "Key",
724
- policy: {
725
- type: "AzureKeyCredentialPolicy",
726
- key: "Authorization",
727
- scheme: auth.scheme,
728
- },
729
- };
730
- }
731
- return credential_type;
732
- }
733
- function emitCredentialUnion(cred_types) {
734
- const result = {};
735
- // Export as CombinedType, which is already a Union Type in autorest codegen
736
- result.type = "combined";
737
- result.types = [];
738
- for (const cred_type of cred_types.types) {
739
- result.types.push(emitCredential(cred_type.scheme));
740
- }
741
- return result;
742
- }
743
- function emitSimpleType(context, type) {
744
- let sdkType;
745
- if (type.kind === "Scalar" || type.kind === "Intrinsic") {
746
- sdkType = getSdkSimpleType(context, type);
747
- }
748
- else {
749
- sdkType = type;
750
- }
751
- const extraInformation = {};
752
- if (sdkType.kind === "string") {
753
- extraInformation["pattern"] = sdkType.pattern;
754
- extraInformation["minLength"] = sdkType.minLength;
755
- extraInformation["maxLength"] = sdkType.maxLength;
756
- }
757
- else if (sdkType.kind === "int32" ||
758
- sdkType.kind === "int64" ||
759
- sdkType.kind === "float32" ||
760
- sdkType.kind === "float64") {
761
- extraInformation["minValue"] = sdkType.minValue;
762
- extraInformation["maxValue"] = sdkType.maxValue;
763
- }
764
- return {
765
- type: sdkScalarKindToPythonKind[sdkType.kind] || sdkType.kind,
766
- doc: sdkType.doc,
767
- apiVersions: sdkType.apiVersions,
768
- sdkDefaultValue: sdkType.sdkDefaultValue,
769
- format: sdkType.format,
770
- ...extraInformation,
771
- };
772
- }
773
- function emitListOrDict(context, type) {
774
- const sdkType = getSdkListOrDict(context, type);
775
- if (sdkType) {
776
- return {
777
- type: sdkType.kind,
778
- elementType: getType(context, sdkType.elementType.__raw),
779
- };
780
- }
781
- return undefined;
782
- }
783
- function mapCadlType(context, type) {
784
- switch (type.kind) {
785
- case "Number":
786
- case "String":
787
- case "Boolean":
788
- const sdkType = getSdkConstant(context, type);
789
- return {
790
- type: sdkType.kind,
791
- value: sdkType.value,
792
- valueType: emitSimpleType(context, sdkType.valueType),
793
- };
794
- case "Model":
795
- return emitListOrDict(context, type);
796
- }
797
- }
798
480
  function capitalize(name) {
799
481
  return name[0].toUpperCase() + name.slice(1);
800
482
  }
801
- function emitUnion(context, type) {
802
- const sdkType = getSdkUnion(context, type);
803
- if (sdkType === undefined) {
804
- throw Error("Should not have an empty union");
805
- }
806
- if (sdkType.kind === "union") {
807
- const unionName = type.name;
808
- return {
809
- name: unionName,
810
- snakeCaseName: camelToSnakeCase(unionName || ""),
811
- description: `Type of ${unionName}`,
812
- internal: true,
813
- type: "combined",
814
- types: sdkType.values.map((x) => getType(context, x.__raw)),
815
- xmlMetadata: {},
816
- };
817
- }
818
- else if (sdkType.kind === "enum") {
819
- return {
820
- name: sdkType.name,
821
- snakeCaseName: camelToSnakeCase(sdkType.name),
822
- description: sdkType.doc || `Type of ${sdkType.name}`,
823
- internal: true,
824
- type: sdkType.kind,
825
- valueType: emitSimpleType(context, sdkType.valueType),
826
- values: sdkType.values.map((x) => emitEnumMember(x)),
827
- xmlMetadata: {},
828
- };
829
- }
830
- else {
831
- return emitType(context, sdkType.__raw);
832
- }
833
- }
834
- function emitType(context, type) {
835
- if (type.kind === "Credential") {
836
- return emitCredential(type.scheme);
837
- }
838
- if (type.kind === "CredentialTypeUnion") {
839
- return emitCredentialUnion(type);
840
- }
841
- const builtinType = mapCadlType(context, type);
842
- if (builtinType !== undefined) {
843
- // add in description elements for types derived from primitive types (SecureString, etc.)
844
- const doc = getDoc(context.program, type);
845
- if (doc) {
846
- builtinType.description = doc;
847
- }
848
- return builtinType;
849
- }
850
- switch (type.kind) {
851
- case "Intrinsic":
852
- return { type: "any" };
853
- case "Model":
854
- return emitModel(context, type);
855
- case "Scalar":
856
- const result = emitSimpleType(context, type);
857
- updateWithEncode(context, type, result);
858
- return result;
859
- case "Union":
860
- return emitUnion(context, type);
861
- case "UnionVariant":
862
- return {};
863
- case "Enum":
864
- return emitEnum(context, type);
865
- default:
866
- throw Error(`Not supported ${type.kind}`);
867
- }
868
- }
869
- function updateWithEncode(context, entity, result) {
870
- const encode = getEncode(context.program, entity);
871
- if (encode) {
872
- if (encode.encoding === "seconds") {
873
- result["type"] = encode.type.name.includes("float") ? "float" : "integer";
874
- }
875
- else if (encode.encoding === "rfc7231") {
876
- result["format"] = "date-time-rfc1123";
877
- }
878
- else if (encode.encoding === "unixTimestamp") {
879
- result["type"] = "unixtime";
880
- }
881
- else if (encode.encoding === "base64url") {
882
- result["format"] = "base64url";
883
- }
884
- }
885
- else if (entity.kind === "ModelProperty" &&
886
- entity.type.kind === "Scalar" &&
887
- isHeader(context.program, entity) &&
888
- (entity.type.name === "utcDateTime" || entity.type.name === "offsetDateTime")) {
889
- result["format"] = "date-time-rfc1123";
890
- }
891
- }
892
483
  function emitOperationGroups(context, client) {
893
484
  const operationGroups = [];
894
485
  for (const operationGroup of listOperationGroups(context, client)) {
@@ -1061,6 +652,7 @@ function emitClients(context, namespace) {
1061
652
  operationGroups: emitOperationGroups(context, client),
1062
653
  url: server ? server.url : "",
1063
654
  apiVersions: [],
655
+ arm: client.arm,
1064
656
  };
1065
657
  const emittedApiVersionParam = getApiVersionParameter(context);
1066
658
  if (emittedApiVersionParam) {
@@ -1098,7 +690,9 @@ function emitCodeModel(context) {
1098
690
  subnamespaceToClients: {},
1099
691
  };
1100
692
  for (const model of getAllModels(sdkContext)) {
1101
- getType(sdkContext, model);
693
+ if (model.name !== "") {
694
+ getType(sdkContext, model);
695
+ }
1102
696
  }
1103
697
  for (const namespace of getNamespaces(sdkContext)) {
1104
698
  if (namespace === clientNamespaceString) {
@@ -1111,8 +705,4 @@ function emitCodeModel(context) {
1111
705
  codeModel["types"] = [...typesMap.values(), ...Object.values(KnownTypes), ...simpleTypesMap.values()];
1112
706
  return codeModel;
1113
707
  }
1114
- const KnownTypes = {
1115
- string: { type: "string" },
1116
- anyObject: { type: "any-object" },
1117
- };
1118
708
  //# sourceMappingURL=emitter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"emitter.js","sourceRoot":"","sources":["../../src/emitter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"emitter.js","sourceRoot":"","sources":["../../src/emitter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import { Type } from "@typespec/compiler";
2
+ import { HttpAuth } from "@typespec/http";
3
+ import { SdkContext, SdkType } from "@azure-tools/typespec-client-generator-core";
4
+ export declare const typesMap: Map<SdkType, Record<string, any>>;
5
+ export declare const simpleTypesMap: Map<string, Record<string, any>>;
6
+ export interface CredentialType {
7
+ kind: "Credential";
8
+ scheme: HttpAuth;
9
+ }
10
+ export interface CredentialTypeUnion {
11
+ kind: "CredentialTypeUnion";
12
+ types: CredentialType[];
13
+ }
14
+ export declare function getType(context: SdkContext, type: CredentialType | CredentialTypeUnion | Type | SdkType): Record<string, any>;
15
+ export declare function getConstantType(key: string): Record<string, any>;
16
+ export declare const KnownTypes: {
17
+ string: {
18
+ type: string;
19
+ };
20
+ anyObject: {
21
+ type: string;
22
+ };
23
+ };
24
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAc,MAAM,gBAAgB,CAAC;AACtD,OAAO,EACH,UAAU,EAEV,OAAO,EAYV,MAAM,6CAA6C,CAAC;AAIrD,eAAO,MAAM,QAAQ,mCAA0C,CAAC;AAChE,eAAO,MAAM,cAAc,kCAAyC,CAAC;AAErE,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,YAAY,CAAC;IACnB,MAAM,EAAE,QAAQ,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAChC,IAAI,EAAE,qBAAqB,CAAC;IAC5B,KAAK,EAAE,cAAc,EAAE,CAAC;CAC3B;AAyBD,wBAAgB,OAAO,CACnB,OAAO,EAAE,UAAU,EACnB,IAAI,EAAE,cAAc,GAAG,mBAAmB,GAAG,IAAI,GAAG,OAAO,GAC5D,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAyDrB;AAgOD,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAchE;AAED,eAAO,MAAM,UAAU;;;;;;;CAGtB,CAAC"}
@@ -0,0 +1,313 @@
1
+ import { Visibility } from "@typespec/http";
2
+ import { getClientType, } from "@azure-tools/typespec-client-generator-core";
3
+ import { dump } from "js-yaml";
4
+ import { camelToSnakeCase } from "./utils.js";
5
+ export const typesMap = new Map();
6
+ export const simpleTypesMap = new Map();
7
+ function isEmptyModel(type) {
8
+ // object, {} will be treated as empty model, user defined empty model will not
9
+ return (type.kind === "model" &&
10
+ type.properties.length === 0 &&
11
+ !type.baseModel &&
12
+ !type.discriminatedSubtypes &&
13
+ !type.discriminatorValue &&
14
+ (type.name === "" || type.name === "object"));
15
+ }
16
+ function getSimpleTypeResult(result) {
17
+ const key = dump(result, { sortKeys: true });
18
+ const value = simpleTypesMap.get(key);
19
+ if (value) {
20
+ result = value;
21
+ }
22
+ else {
23
+ simpleTypesMap.set(key, result);
24
+ }
25
+ return result;
26
+ }
27
+ export function getType(context, type) {
28
+ if (type.kind === "Credential") {
29
+ return emitCredential(type.scheme);
30
+ }
31
+ if (type.kind === "CredentialTypeUnion") {
32
+ return emitCredentialUnion(type);
33
+ }
34
+ switch (type.kind) {
35
+ case "model":
36
+ return emitModel(context, type);
37
+ case "union":
38
+ return emitUnion(context, type);
39
+ case "enum":
40
+ return emitEnum(type);
41
+ case "constant":
42
+ return emitConstant(type);
43
+ case "array":
44
+ case "dict":
45
+ return emitArrayOrDict(context, type);
46
+ case "datetime":
47
+ case "duration":
48
+ return emitDurationOrDateType(type);
49
+ case "bytes":
50
+ case "boolean":
51
+ case "date":
52
+ case "time":
53
+ case "int32":
54
+ case "int64":
55
+ case "float32":
56
+ case "float64":
57
+ case "string":
58
+ case "guid":
59
+ case "url":
60
+ case "uuid":
61
+ case "password":
62
+ case "armId":
63
+ case "ipAddress":
64
+ case "azureLocation":
65
+ case "etag":
66
+ return emitBuiltInType(type);
67
+ case "any":
68
+ return { type: "any" };
69
+ case "String":
70
+ case "Number":
71
+ case "Boolean":
72
+ case "Model":
73
+ case "Intrinsic":
74
+ case "Scalar":
75
+ case "Enum":
76
+ case "Union":
77
+ case "ModelProperty":
78
+ case "UnionVariant":
79
+ return getType(context, getClientType(context, type));
80
+ default:
81
+ throw Error(`Not supported ${type.kind}`);
82
+ }
83
+ }
84
+ function emitCredential(auth) {
85
+ let credential_type = {};
86
+ if (auth.type === "oauth2") {
87
+ credential_type = {
88
+ type: "OAuth2",
89
+ policy: {
90
+ type: "BearerTokenCredentialPolicy",
91
+ credentialScopes: [],
92
+ },
93
+ };
94
+ for (const flow of auth.flows) {
95
+ for (const scope of flow.scopes) {
96
+ credential_type.policy.credentialScopes.push(scope.value);
97
+ }
98
+ credential_type.policy.credentialScopes.push();
99
+ }
100
+ }
101
+ else if (auth.type === "apiKey") {
102
+ credential_type = {
103
+ type: "Key",
104
+ policy: {
105
+ type: "AzureKeyCredentialPolicy",
106
+ key: auth.name,
107
+ },
108
+ };
109
+ }
110
+ else if (auth.type === "http") {
111
+ credential_type = {
112
+ type: "Key",
113
+ policy: {
114
+ type: "AzureKeyCredentialPolicy",
115
+ key: "Authorization",
116
+ scheme: auth.scheme,
117
+ },
118
+ };
119
+ }
120
+ return getSimpleTypeResult(credential_type);
121
+ }
122
+ function emitCredentialUnion(cred_types) {
123
+ const result = {};
124
+ // Export as CombinedType, which is already a Union Type in autorest codegen
125
+ result.type = "combined";
126
+ result.types = [];
127
+ for (const cred_type of cred_types.types) {
128
+ result.types.push(emitCredential(cred_type.scheme));
129
+ }
130
+ return getSimpleTypeResult(result);
131
+ }
132
+ function visibilityMapping(visibility) {
133
+ if (visibility === undefined) {
134
+ return undefined;
135
+ }
136
+ const result = [];
137
+ for (const v of visibility) {
138
+ if (v === Visibility.Read) {
139
+ result.push("read");
140
+ }
141
+ else if (v === Visibility.Create) {
142
+ result.push("create");
143
+ }
144
+ else if (v === Visibility.Update) {
145
+ result.push("update");
146
+ }
147
+ else if (v === Visibility.Delete) {
148
+ result.push("delete");
149
+ }
150
+ else if (v === Visibility.Query) {
151
+ result.push("query");
152
+ }
153
+ }
154
+ return result;
155
+ }
156
+ function emitProperty(context, type) {
157
+ return {
158
+ clientName: camelToSnakeCase(type.nameInClient),
159
+ wireName: type.serializedName,
160
+ type: getType(context, type.type),
161
+ optional: type.optional,
162
+ description: type.description,
163
+ addedOn: type.apiVersions[0],
164
+ visibility: visibilityMapping(type.visibility),
165
+ isDiscriminator: type.discriminator,
166
+ };
167
+ }
168
+ function emitModel(context, type) {
169
+ if (isEmptyModel(type)) {
170
+ return {
171
+ type: "any",
172
+ description: type.description,
173
+ };
174
+ }
175
+ if (typesMap.has(type)) {
176
+ return typesMap.get(type);
177
+ }
178
+ const newValue = {
179
+ type: type.kind,
180
+ name: type.name,
181
+ description: type.description,
182
+ parents: type.baseModel ? [getType(context, type.baseModel)] : [],
183
+ discriminatorValue: type.discriminatorValue,
184
+ discriminatedSubtypes: {},
185
+ properties: new Array(),
186
+ snakeCaseName: type.name ? camelToSnakeCase(type.name) : type.name,
187
+ base: type.name === "" ? "json" : "dpg",
188
+ internal: type.access === "internal",
189
+ };
190
+ typesMap.set(type, newValue);
191
+ for (const property of type.properties.values()) {
192
+ if (property.kind === "property") {
193
+ newValue.properties.push(emitProperty(context, property));
194
+ if (type.discriminatedSubtypes &&
195
+ property.discriminator &&
196
+ property.type.kind === "constant" &&
197
+ !property.type.value) {
198
+ newValue.properties[newValue.properties.length - 1].isPolymorphic = true;
199
+ }
200
+ }
201
+ }
202
+ if (type.discriminatedSubtypes) {
203
+ for (const key in type.discriminatedSubtypes) {
204
+ newValue.discriminatedSubtypes[key] = getType(context, type.discriminatedSubtypes[key]);
205
+ }
206
+ }
207
+ return newValue;
208
+ }
209
+ function emitEnum(type) {
210
+ if (typesMap.has(type)) {
211
+ return typesMap.get(type);
212
+ }
213
+ const newValue = {
214
+ name: type.name,
215
+ snakeCaseName: camelToSnakeCase(type.name),
216
+ description: type.description || `Type of ${type.name}`,
217
+ internal: type.access === "internal",
218
+ type: type.kind,
219
+ valueType: emitBuiltInType(type.valueType),
220
+ values: type.values.map((x) => emitEnumMember(x)),
221
+ xmlMetadata: {},
222
+ };
223
+ typesMap.set(type, newValue);
224
+ return newValue;
225
+ }
226
+ function enumName(name) {
227
+ if (name.toUpperCase() === name) {
228
+ return name;
229
+ }
230
+ return camelToSnakeCase(name).toUpperCase();
231
+ }
232
+ function emitEnumMember(type) {
233
+ return {
234
+ name: enumName(type.name),
235
+ value: type.value,
236
+ description: type.description,
237
+ };
238
+ }
239
+ function emitDurationOrDateType(type) {
240
+ return getSimpleTypeResult({
241
+ ...emitBuiltInType(type),
242
+ wireType: emitBuiltInType(type.wireType),
243
+ });
244
+ }
245
+ function emitArrayOrDict(context, type) {
246
+ const kind = type.kind === "array" ? "list" : type.kind;
247
+ return getSimpleTypeResult({
248
+ type: kind,
249
+ elementType: getType(context, type.valueType),
250
+ });
251
+ }
252
+ function emitConstant(type) {
253
+ return getSimpleTypeResult({
254
+ type: type.kind,
255
+ value: type.value,
256
+ valueType: emitBuiltInType(type.valueType),
257
+ });
258
+ }
259
+ const sdkScalarKindToPythonKind = {
260
+ int32: "integer",
261
+ int64: "integer",
262
+ float32: "float",
263
+ float64: "float",
264
+ };
265
+ function emitBuiltInType(type) {
266
+ if (type.kind === "duration" && type.encode === "seconds") {
267
+ return getSimpleTypeResult({
268
+ type: sdkScalarKindToPythonKind[type.wireType.kind],
269
+ format: type.encode,
270
+ });
271
+ }
272
+ if (type.encode === "unixTimestamp") {
273
+ return getSimpleTypeResult({
274
+ type: "unixtime",
275
+ format: type.encode,
276
+ });
277
+ }
278
+ return getSimpleTypeResult({
279
+ type: sdkScalarKindToPythonKind[type.kind] || type.kind,
280
+ format: type.encode,
281
+ });
282
+ }
283
+ function emitUnion(context, type) {
284
+ return getSimpleTypeResult({
285
+ name: type.name,
286
+ snakeCaseName: camelToSnakeCase(type.name || ""),
287
+ description: `Type of ${type.name}`,
288
+ internal: true,
289
+ type: "combined",
290
+ types: type.values.map((x) => getType(context, x)),
291
+ xmlMetadata: {},
292
+ });
293
+ }
294
+ export function getConstantType(key) {
295
+ const cache = simpleTypesMap.get(key);
296
+ if (cache) {
297
+ return cache;
298
+ }
299
+ const type = {
300
+ apiVersions: [],
301
+ type: "constant",
302
+ value: key,
303
+ valueType: KnownTypes.string,
304
+ xmlMetadata: {},
305
+ };
306
+ simpleTypesMap.set(key, type);
307
+ return type;
308
+ }
309
+ export const KnownTypes = {
310
+ string: { type: "string" },
311
+ anyObject: { type: "any-object" },
312
+ };
313
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function camelToSnakeCase(name: string): string;
2
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAWrD"}
@@ -0,0 +1,12 @@
1
+ export function camelToSnakeCase(name) {
2
+ if (!name)
3
+ return name;
4
+ const camelToSnakeCaseRe = (str) => str
5
+ .replace("/", "_")
6
+ .replace(/\s+/g, "_")
7
+ .replace(/\$/g, "")
8
+ .replace(/-/g, "_")
9
+ .replace(/[A-Z]/g, (letter) => `_${letter.toLowerCase()}`);
10
+ return camelToSnakeCaseRe(name[0].toLowerCase() + name.slice(1));
11
+ }
12
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,gBAAgB,CAAC,IAAY;IACzC,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,MAAM,kBAAkB,GAAG,CAAC,GAAW,EAAE,EAAE,CACvC,GAAG;SACE,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;SACjB,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;SAClB,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;SAClB,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAEnE,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACrE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@azure-tools/typespec-python",
3
- "version": "0.13.1",
3
+ "version": "0.13.3",
4
4
  "author": "Microsoft Corporation",
5
5
  "description": "Cadl emitter for Python SDKs",
6
6
  "homepage": "https://github.com/Azure/autorest.python",
@@ -34,20 +34,25 @@
34
34
  "get-autorest-python-path.cjs"
35
35
  ],
36
36
  "peerDependencies": {
37
- "@azure-tools/typespec-azure-core": ">=0.33.0 <1.0.0",
38
- "@azure-tools/typespec-client-generator-core": ">=0.33.0 <1.0.0",
39
- "@typespec/compiler": ">=0.47.0 <1.0.0",
37
+ "@azure-tools/typespec-azure-core": ">=0.33.1 <1.0.0",
38
+ "@azure-tools/typespec-client-generator-core": ">=0.34.0-dev.6 <1.0.0",
39
+ "@typespec/compiler": ">=0.47.1 <1.0.0",
40
40
  "@typespec/http": ">=0.47.0 <1.0.0",
41
41
  "@typespec/rest": ">=0.47.0 <1.0.0",
42
42
  "@typespec/versioning": ">=0.47.0 <1.0.0"
43
43
  },
44
+ "dependenciesMeta": {
45
+ "@azure-tools/typespec-client-generator-core": {
46
+ "injected": true
47
+ }
48
+ },
44
49
  "dependencies": {
45
50
  "js-yaml": "~4.1.0",
46
- "@autorest/python": "^6.7.2"
51
+ "@autorest/python": "^6.7.4"
47
52
  },
48
53
  "devDependencies": {
49
54
  "@azure-tools/cadl-ranch-expect": "~0.6.0",
50
- "@azure-tools/cadl-ranch-specs": "~0.18.0",
55
+ "@azure-tools/cadl-ranch-specs": "~0.19.0",
51
56
  "@types/js-yaml": "~4.0.5",
52
57
  "@types/mocha": "~10.0.1",
53
58
  "@types/node": "^18.16.3",