@azure-tools/typespec-rust 0.36.0 → 0.38.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.
Files changed (76) hide show
  1. package/dist/src/codegen/clients.d.ts +4 -4
  2. package/dist/src/codegen/clients.d.ts.map +1 -1
  3. package/dist/src/codegen/clients.js +208 -88
  4. package/dist/src/codegen/clients.js.map +1 -1
  5. package/dist/src/codegen/codeGenerator.d.ts +6 -0
  6. package/dist/src/codegen/codeGenerator.d.ts.map +1 -1
  7. package/dist/src/codegen/codeGenerator.js +112 -32
  8. package/dist/src/codegen/codeGenerator.js.map +1 -1
  9. package/dist/src/codegen/context.d.ts +10 -0
  10. package/dist/src/codegen/context.d.ts.map +1 -1
  11. package/dist/src/codegen/context.js +57 -15
  12. package/dist/src/codegen/context.js.map +1 -1
  13. package/dist/src/codegen/docTests.d.ts +1 -2
  14. package/dist/src/codegen/docTests.d.ts.map +1 -1
  15. package/dist/src/codegen/docTests.js +13 -3
  16. package/dist/src/codegen/docTests.js.map +1 -1
  17. package/dist/src/codegen/enums.d.ts +4 -4
  18. package/dist/src/codegen/enums.d.ts.map +1 -1
  19. package/dist/src/codegen/enums.js +21 -21
  20. package/dist/src/codegen/enums.js.map +1 -1
  21. package/dist/src/codegen/headerTraits.d.ts +2 -2
  22. package/dist/src/codegen/headerTraits.d.ts.map +1 -1
  23. package/dist/src/codegen/headerTraits.js +17 -9
  24. package/dist/src/codegen/headerTraits.js.map +1 -1
  25. package/dist/src/codegen/helpers.d.ts +12 -3
  26. package/dist/src/codegen/helpers.d.ts.map +1 -1
  27. package/dist/src/codegen/helpers.js +22 -13
  28. package/dist/src/codegen/helpers.js.map +1 -1
  29. package/dist/src/codegen/lib.d.ts +3 -1
  30. package/dist/src/codegen/lib.d.ts.map +1 -1
  31. package/dist/src/codegen/lib.js +5 -1
  32. package/dist/src/codegen/lib.js.map +1 -1
  33. package/dist/src/codegen/mod.d.ts +9 -2
  34. package/dist/src/codegen/mod.d.ts.map +1 -1
  35. package/dist/src/codegen/mod.js +25 -9
  36. package/dist/src/codegen/mod.js.map +1 -1
  37. package/dist/src/codegen/models.d.ts +4 -4
  38. package/dist/src/codegen/models.d.ts.map +1 -1
  39. package/dist/src/codegen/models.js +96 -39
  40. package/dist/src/codegen/models.js.map +1 -1
  41. package/dist/src/codegen/unions.d.ts +4 -4
  42. package/dist/src/codegen/unions.d.ts.map +1 -1
  43. package/dist/src/codegen/unions.js +81 -62
  44. package/dist/src/codegen/unions.js.map +1 -1
  45. package/dist/src/codegen/use.d.ts +4 -2
  46. package/dist/src/codegen/use.d.ts.map +1 -1
  47. package/dist/src/codegen/use.js +22 -26
  48. package/dist/src/codegen/use.js.map +1 -1
  49. package/dist/src/codemodel/client.d.ts +32 -16
  50. package/dist/src/codemodel/client.d.ts.map +1 -1
  51. package/dist/src/codemodel/client.js +11 -7
  52. package/dist/src/codemodel/client.js.map +1 -1
  53. package/dist/src/codemodel/crate.d.ts +42 -12
  54. package/dist/src/codemodel/crate.d.ts.map +1 -1
  55. package/dist/src/codemodel/crate.js +21 -46
  56. package/dist/src/codemodel/crate.js.map +1 -1
  57. package/dist/src/codemodel/types.d.ts +69 -38
  58. package/dist/src/codemodel/types.d.ts.map +1 -1
  59. package/dist/src/codemodel/types.js +31 -10
  60. package/dist/src/codemodel/types.js.map +1 -1
  61. package/dist/src/emitter.d.ts.map +1 -1
  62. package/dist/src/emitter.js +40 -12
  63. package/dist/src/emitter.js.map +1 -1
  64. package/dist/src/lib.d.ts +2 -0
  65. package/dist/src/lib.d.ts.map +1 -1
  66. package/dist/src/lib.js +6 -0
  67. package/dist/src/lib.js.map +1 -1
  68. package/dist/src/tcgcadapter/adapter.d.ts +76 -13
  69. package/dist/src/tcgcadapter/adapter.d.ts.map +1 -1
  70. package/dist/src/tcgcadapter/adapter.js +777 -190
  71. package/dist/src/tcgcadapter/adapter.js.map +1 -1
  72. package/dist/src/utils/utils.d.ts +23 -4
  73. package/dist/src/utils/utils.d.ts.map +1 -1
  74. package/dist/src/utils/utils.js +54 -23
  75. package/dist/src/utils/utils.js.map +1 -1
  76. package/package.json +17 -17
@@ -7,67 +7,93 @@ import * as helpers from './helpers.js';
7
7
  import * as utils from '../utils/utils.js';
8
8
  /**
9
9
  * returns the union enum types, or undefined if the
10
- * crate contains no union types.
10
+ * module contains no union types.
11
11
  *
12
- * @param crate the crate for which to emit unions
13
- * @param context the context for the provided crate
12
+ * @param module the module for which to emit unions
13
+ * @param context the context for the provided module
14
14
  * @returns the union content or undefined
15
15
  */
16
- export function emitUnions(crate, context) {
16
+ export function emitUnions(module, context) {
17
17
  var _a, _b;
18
- if (crate.unions.length === 0) {
18
+ if (module.unions.length === 0) {
19
19
  return {};
20
20
  }
21
- const use = new Use('modelsOther');
21
+ const use = new Use(module, 'modelsOther');
22
22
  const indent = new helpers.indentation();
23
23
  const visTracker = new helpers.VisibilityTracker();
24
- let body = '';
25
- for (const rustUnion of crate.unions) {
24
+ // Collect all union entries (discriminated and untagged) so they can be sorted.
25
+ const entries = [];
26
+ for (const rustUnion of module.unions) {
26
27
  visTracker.update(rustUnion.visibility);
28
+ let body = '';
27
29
  const docs = helpers.formatDocComment(rustUnion.docs, true);
28
30
  if (docs.length > 0) {
29
31
  body += `${indent.get()}#[doc = r#"${docs.substring(0, docs.length - 1)}"#]\n`;
30
32
  }
31
- const extensiblePolymorphicDU = ((_a = rustUnion.unionKind) === null || _a === void 0 ? void 0 : _a.kind) === 'discriminatedUnionBase' ? rustUnion.unionKind : undefined;
32
- if (!extensiblePolymorphicDU) {
33
- // extensible polymorphic unions define Serialize
34
- use.add('serde', 'Serialize');
35
- }
36
- use.add('serde', 'Deserialize');
37
- use.add('azure_core::fmt', 'SafeDebug');
38
- body += `#[derive(Clone, Deserialize, ${!extensiblePolymorphicDU ? 'Serialize, ' : ''}SafeDebug)]\n`;
39
- const content = ((_b = rustUnion.unionKind) === null || _b === void 0 ? void 0 : _b.kind) === 'discriminatedUnionEnvelope' ? `content = "${rustUnion.unionKind.envelopeName}"` : '';
40
- body += `#[serde(${[content, `tag = "${rustUnion.discriminant}"`].filter(x => x !== '').join(', ')})]\n`;
41
- body += `${helpers.emitVisibility(rustUnion.visibility)}enum ${rustUnion.name} {\n`;
42
- for (const member of rustUnion.members) {
43
- use.addForType(member.type);
44
- const docs = helpers.formatDocComment(member.docs, true);
45
- if (docs.length > 0) {
46
- body += `${indent.get()}#[doc = r#"${docs.substring(0, docs.length - 1)}"#]\n`;
33
+ if (rustUnion.kind === 'discriminatedUnion') {
34
+ const extensiblePolymorphicDU = ((_a = rustUnion.unionKind) === null || _a === void 0 ? void 0 : _a.kind) === 'discriminatedUnionBase' ? rustUnion.unionKind : undefined;
35
+ if (!extensiblePolymorphicDU) {
36
+ // extensible polymorphic unions define Serialize
37
+ use.add('serde', 'Serialize');
38
+ }
39
+ use.add('serde', 'Deserialize');
40
+ use.add('azure_core::fmt', 'SafeDebug');
41
+ body += `#[derive(Clone, Deserialize, ${!extensiblePolymorphicDU ? 'Serialize, ' : ''}SafeDebug)]\n`;
42
+ const content = ((_b = rustUnion.unionKind) === null || _b === void 0 ? void 0 : _b.kind) === 'discriminatedUnionEnvelope' ? `content = "${rustUnion.unionKind.envelopeName}"` : '';
43
+ body += `#[serde(${[content, `tag = "${rustUnion.discriminant}"`].filter(x => x !== '').join(', ')})]\n`;
44
+ body += `${helpers.emitVisibility(rustUnion.visibility)}enum ${rustUnion.name} {\n`;
45
+ for (const member of rustUnion.members) {
46
+ // Use isn't granular enough to realize we're in unions.rs
47
+ // so skip adding when the member is also a DU
48
+ if (member.type.kind !== 'discriminatedUnion') {
49
+ use.addForType(member.type);
50
+ }
51
+ const docs = helpers.formatDocComment(member.docs, true);
52
+ if (docs.length > 0) {
53
+ body += `${indent.get()}#[doc = r#"${docs.substring(0, docs.length - 1)}"#]\n`;
54
+ }
55
+ if (member.discriminantValue !== member.type.name) {
56
+ body += `#[serde(rename = "${member.discriminantValue}")]\n`;
57
+ }
58
+ body += `${indent.get()}${member.type.name}(${helpers.getTypeDeclaration(member.type)})`;
59
+ body += ',\n\n';
47
60
  }
48
- if (member.discriminantValue !== member.type.name) {
49
- body += `#[serde(rename = "${member.discriminantValue}")]\n`;
61
+ if (extensiblePolymorphicDU) {
62
+ body += `${indent.get()}#[serde(untagged)]\n`;
63
+ body += `${indent.get()}${getPolymorphicUnknownVariant(indent, use, extensiblePolymorphicDU, rustUnion.discriminant, false)},\n`;
50
64
  }
51
- body += `${indent.get()}${member.type.name}(${helpers.getTypeDeclaration(member.type)})`;
52
- body += ',\n\n';
53
65
  }
54
- if (extensiblePolymorphicDU) {
55
- body += `${indent.get()}#[serde(untagged)]\n`;
56
- body += `${indent.get()}${getPolymorphicUnknownVariant(indent, use, extensiblePolymorphicDU, rustUnion.discriminant, false)},\n`;
66
+ else {
67
+ use.add('serde', 'Deserialize', 'Serialize');
68
+ use.add('azure_core::fmt', 'SafeDebug');
69
+ body += `#[derive(Clone, Deserialize, SafeDebug, Serialize)]\n`;
70
+ body += `#[serde(untagged)]\n`;
71
+ body += `${helpers.emitVisibility(rustUnion.visibility)}enum ${rustUnion.name} {\n`;
72
+ for (const variant of rustUnion.variants) {
73
+ use.addForType(variant.type);
74
+ const docs = helpers.formatDocComment(variant.docs, true);
75
+ if (docs.length > 0) {
76
+ body += `${indent.get()}#[doc = r#"${docs.substring(0, docs.length - 1)}"#]\n`;
77
+ }
78
+ body += `${indent.get()}${variant.name}(${helpers.getTypeDeclaration(variant.type)}),\n`;
79
+ }
57
80
  }
58
- body += '}\n\n'; // end enum declaration
81
+ body += '}\n\n';
82
+ entries.push({ name: rustUnion.name, body: body });
59
83
  }
84
+ // Sort all entries alphabetically by name.
85
+ entries.sort((a, b) => a.name.localeCompare(b.name));
60
86
  let content = helpers.contentPreamble();
61
87
  content += use.text();
62
- content += body;
88
+ content += entries.map(e => e.body).join('');
63
89
  return {
64
90
  definitions: {
65
91
  name: 'unions',
66
92
  content: content,
67
93
  visibility: visTracker.get(),
68
94
  },
69
- impls: emitUnionImpls(crate, context),
70
- serde: emitUnionSerde(crate),
95
+ impls: emitUnionImpls(module, context),
96
+ serde: emitUnionSerde(module),
71
97
  };
72
98
  }
73
99
  /**
@@ -96,12 +122,14 @@ function getPolymorphicUnknownVariant(indent, use, baseType, discriminant, abbre
96
122
  if (!abbreviated) {
97
123
  unknownDef += helpers.formatDocComment(field.docs, false, undefined, indent);
98
124
  }
99
- use.addForType(field.type);
100
125
  if (abbreviated) {
101
126
  unknownDef += `${field.name}, `;
102
127
  }
103
128
  else {
104
- unknownDef += `${indent.get()}${field.name}: ${helpers.getTypeDeclaration(field.type)},\n\n`;
129
+ use.addForType(field.type);
130
+ // the base internal type declares its fields with refs and a lifetime.
131
+ // we need to omit those for the inline anonymous unknown kind definition.
132
+ unknownDef += `${indent.get()}${field.name}: ${helpers.getTypeDeclaration(field.type, 'omit')},\n\n`;
105
133
  }
106
134
  }
107
135
  unknownDef += `${abbreviated ? '' : indent.pop().get()}}`;
@@ -111,14 +139,16 @@ function getPolymorphicUnknownVariant(indent, use, baseType, discriminant, abbre
111
139
  * returns any trait impls for union types.
112
140
  * if no helpers are required, undefined is returned.
113
141
  *
114
- * @param crate the crate for which to emit model impls
115
- * @param context the context for the provided crate
142
+ * @param module the module for which to emit model impls
143
+ * @param context the context for the provided module
116
144
  * @returns the union impls content or undefined
117
145
  */
118
- function emitUnionImpls(crate, context) {
119
- const use = new Use('modelsOther');
146
+ function emitUnionImpls(module, context) {
147
+ const use = new Use(module, 'modelsOther');
120
148
  const entries = new Array();
121
- for (const rustUnion of crate.unions) {
149
+ for (const rustUnion of module.unions) {
150
+ if (rustUnion.kind !== 'discriminatedUnion')
151
+ continue;
122
152
  const forReq = context.getTryFromForRequestContent(rustUnion, use);
123
153
  // helpers aren't required for all types, so only
124
154
  // add a use statement for a type if it has a helper
@@ -144,17 +174,19 @@ function emitUnionImpls(crate, context) {
144
174
  * returns the content for unions_serde.rs.
145
175
  * if no helpers are required, undefined is returned.
146
176
  *
147
- * @param crate the crate for which to emit model impls
177
+ * @param module the module for which to emit model impls
148
178
  * @returns the union serde helpers or undefined
149
179
  */
150
- function emitUnionSerde(crate) {
151
- if (crate.unions.length === 0) {
180
+ function emitUnionSerde(module) {
181
+ if (module.unions.length === 0) {
152
182
  return undefined;
153
183
  }
154
- const use = new Use('modelsOther');
184
+ const use = new Use(module, 'modelsOther');
155
185
  const indent = new helpers.indentation();
156
186
  let body = '';
157
- for (const rustUnion of crate.unions) {
187
+ for (const rustUnion of module.unions) {
188
+ if (rustUnion.kind !== 'discriminatedUnion')
189
+ continue;
158
190
  if (!isPolymorphicDU(rustUnion.unionKind) || rustUnion.unionKind.kind !== 'discriminatedUnionBase') {
159
191
  continue;
160
192
  }
@@ -176,21 +208,8 @@ function emitUnionSerde(crate) {
176
208
  matchArms.push({
177
209
  pattern: `${indent.get()}${rustUnion.name}::${getPolymorphicUnknownVariant(indent, use, unionBaseKind, rustUnion.discriminant, true)}`,
178
210
  body: (indent) => {
179
- let content = `${indent.push().get()}#[derive(Serialize)]\n`;
180
- const unknownVariantName = getPolymorphicUnknownVariantName(rustUnion.discriminant);
181
- content += `${indent.get()}struct ${unknownVariantName}<'a> {\n`;
182
- indent.push();
183
- for (const field of unionBaseKind.baseType.fields) {
184
- if (field.kind === 'additionalProperties') {
185
- // TODO
186
- continue;
187
- }
188
- content += `${indent.get()}#[serde(skip_serializing_if = "Option::is_none")]\n`;
189
- content += `${indent.get()}${field.name}: &'a ${helpers.getTypeDeclaration(field.type)},\n`;
190
- }
191
- content += `${indent.pop().get()}}\n`;
192
- content += `${indent.get()}${unknownVariantName}::serialize(&${unknownVariantName} { ${unionBaseKind.baseType.fields.map((field) => field.name).join(', ')} }, serializer)\n`;
193
- return content;
211
+ use.addForType(unionBaseKind.baseType);
212
+ return `${indent.get()}${unionBaseKind.baseType.name}::serialize(&${unionBaseKind.baseType.name} { ${unionBaseKind.baseType.fields.map((field) => field.name).join(', ')} }, serializer)\n`;
194
213
  },
195
214
  });
196
215
  body += `${indent.get()}${helpers.buildMatch(indent, 'self', matchArms)}\n`;
@@ -1 +1 @@
1
- {"version":3,"file":"unions.js","sourceRoot":"","sources":["../../../src/codegen/unions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"unions.js","sourceRoot":"","sources":["../../../src/codegen/unions.ts"],"names":[],"mappings":"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"}
@@ -2,18 +2,20 @@ import * as helpers from './helpers.js';
2
2
  import * as rust from '../codemodel/index.js';
3
3
  /** used to generate use statements */
4
4
  export declare class Use {
5
+ private readonly module;
5
6
  private readonly trees;
6
7
  private readonly scope;
7
8
  /**
8
9
  * instantiates a new instance of the Use type
9
10
  *
11
+ * @param module the module that contains the files in scope
10
12
  * @param scope indicates a scope in which use statements are constructed.
11
13
  * this is only applicable when constructing the path to generated types.
12
14
  * clients - we're in generated/clients
13
15
  * models - we're in generated/models/models.rs
14
16
  * modelsOther - we're in generated/models but not models.rs
15
17
  */
16
- constructor(scope: 'clients' | 'models' | 'modelsOther');
18
+ constructor(module: rust.ModuleContainer, scope: 'clients' | 'models' | 'modelsOther');
17
19
  /**
18
20
  * adds the specified module and type if not already in the list
19
21
  * e.g. ('azure_core', 'Context') or ('super::models', 'FooType')
@@ -29,7 +31,7 @@ export declare class Use {
29
31
  *
30
32
  * @param type the Rust type to add
31
33
  */
32
- addForType(type: rust.Client | rust.Payload | rust.ResponseHeadersTrait | rust.Type): void;
34
+ addForType(type: rust.Client | rust.ResponseHeadersTrait | rust.Type): void;
33
35
  /**
34
36
  * emits Rust use statements for the contents of this Use object
35
37
  *
@@ -1 +1 @@
1
- {"version":3,"file":"use.d.ts","sourceRoot":"","sources":["../../../src/codegen/use.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AAExC,OAAO,KAAK,IAAI,MAAM,uBAAuB,CAAC;AAE9C,sCAAsC;AACtC,qBAAa,GAAG;IACd,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiB;IACvC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAuC;IAE7D;;;;;;;;OAQG;gBACS,KAAK,EAAE,SAAS,GAAG,QAAQ,GAAG,aAAa;IAKvD;;;;;;;;OAQG;IACH,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI;IAuBlD;;;;OAIG;IACH,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI;IAuG1F;;;;;OAKG;IACH,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,GAAG,MAAM;CA0C3C"}
1
+ {"version":3,"file":"use.d.ts","sourceRoot":"","sources":["../../../src/codegen/use.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AAExC,OAAO,KAAK,IAAI,MAAM,uBAAuB,CAAC;AAG9C,sCAAsC;AACtC,qBAAa,GAAG;IACd,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuB;IAC9C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiB;IACvC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAuC;IAE7D;;;;;;;;;OASG;gBACS,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE,KAAK,EAAE,SAAS,GAAG,QAAQ,GAAG,aAAa;IAMrF;;;;;;;;OAQG;IACH,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI;IAuBlD;;;;OAIG;IACH,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI;IA8F3E;;;;;OAKG;IACH,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,GAAG,MAAM;CA0C3C"}
@@ -4,18 +4,21 @@
4
4
  *--------------------------------------------------------------------------------------------*/
5
5
  import * as helpers from './helpers.js';
6
6
  import { CodegenError } from './errors.js';
7
+ import * as utils from '../utils/utils.js';
7
8
  /** used to generate use statements */
8
9
  export class Use {
9
10
  /**
10
11
  * instantiates a new instance of the Use type
11
12
  *
13
+ * @param module the module that contains the files in scope
12
14
  * @param scope indicates a scope in which use statements are constructed.
13
15
  * this is only applicable when constructing the path to generated types.
14
16
  * clients - we're in generated/clients
15
17
  * models - we're in generated/models/models.rs
16
18
  * modelsOther - we're in generated/models but not models.rs
17
19
  */
18
- constructor(scope) {
20
+ constructor(module, scope) {
21
+ this.module = module;
19
22
  this.trees = new Array();
20
23
  this.scope = scope;
21
24
  }
@@ -59,12 +62,18 @@ export class Use {
59
62
  return this.addForType(type.type);
60
63
  case 'client': {
61
64
  // client type are only referenced from other things in generated/clients so we ignore any scope
62
- this.add('crate::generated::clients', type.name);
65
+ this.add(`${utils.buildImportPath(this.module, type.module)}::clients`, type.name);
63
66
  break;
64
67
  }
65
68
  case 'discriminatedUnion':
66
69
  case 'enum':
67
- this.add(this.scope === 'clients' ? 'crate::generated::models' : 'super', type.name);
70
+ case 'untaggedUnion':
71
+ if (this.scope === 'clients' || this.module !== type.module) {
72
+ this.add(`${utils.buildImportPath(this.module, type.module)}::models`, type.name);
73
+ }
74
+ else {
75
+ this.add('super', type.name);
76
+ }
68
77
  break;
69
78
  case 'enumValue':
70
79
  this.addForType(type.type);
@@ -72,7 +81,8 @@ export class Use {
72
81
  case 'marker':
73
82
  switch (this.scope) {
74
83
  case 'clients':
75
- this.add('crate::generated::models', type.name);
84
+ // marker types are always in the same module as their client method
85
+ this.add(`${utils.buildImportPath(this.module, this.module)}::models`, type.name);
76
86
  break;
77
87
  case 'modelsOther':
78
88
  this.add('super', type.name);
@@ -84,16 +94,11 @@ export class Use {
84
94
  }
85
95
  break;
86
96
  case 'model':
87
- switch (this.scope) {
88
- case 'clients':
89
- this.add('crate::generated::models', type.name);
90
- break;
91
- case 'models':
92
- // we're in models so no need to bring another model into scope
93
- break;
94
- case 'modelsOther':
95
- this.add('super', type.name);
96
- break;
97
+ if (this.scope === 'clients' || this.module !== type.module) {
98
+ this.add(`${utils.buildImportPath(this.module, type.module)}::models`, type.name);
99
+ }
100
+ else if (this.scope === 'modelsOther') {
101
+ this.add('super', type.name);
97
102
  }
98
103
  break;
99
104
  case 'asyncResponse':
@@ -111,22 +116,12 @@ export class Use {
111
116
  this.add('azure_core::http', type.type.format);
112
117
  }
113
118
  break;
114
- case 'payload':
115
- this.addForType(type.type);
116
- break;
117
119
  case 'requestContent':
118
120
  if (type.format !== 'JsonFormat') {
119
121
  // JsonFormat is the default so no need to bring it into scope
120
122
  this.add('azure_core::http', type.format);
121
123
  }
122
- switch (type.content.kind) {
123
- case 'bytes':
124
- this.addForType(type.content);
125
- break;
126
- case 'payload':
127
- this.addForType(type.content.type);
128
- break;
129
- }
124
+ this.addForType(type.content);
130
125
  break;
131
126
  case 'response':
132
127
  if (type.format !== 'JsonFormat') {
@@ -138,7 +133,8 @@ export class Use {
138
133
  case 'responseHeadersTrait':
139
134
  switch (this.scope) {
140
135
  case 'clients':
141
- this.add(`crate::generated::models`, type.name);
136
+ // header response traits are always in the same module as their client method
137
+ this.add(`${utils.buildImportPath(this.module, this.module)}::models`, type.name);
142
138
  break;
143
139
  case 'models':
144
140
  case 'modelsOther':
@@ -1 +1 @@
1
- {"version":3,"file":"use.js","sourceRoot":"","sources":["../../../src/codegen/use.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use.js","sourceRoot":"","sources":["../../../src/codegen/use.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { ModuleContainer } from './crate.js';
1
2
  import * as method from './method.js';
2
3
  import * as types from './types.js';
3
4
  /** Client is a SDK client */
@@ -29,6 +30,8 @@ export interface Client {
29
30
  fields: Array<types.StructField>;
30
31
  /** all the methods for this client */
31
32
  methods: Array<MethodType>;
33
+ /** the module to which this client belongs */
34
+ module: ModuleContainer;
32
35
  /** the parent client in a hierarchical client */
33
36
  parent?: Client;
34
37
  }
@@ -135,7 +138,8 @@ export interface PageableMethod extends HTTPMethodBase {
135
138
  export interface LroFinalResultStrategyOriginalUri {
136
139
  kind: 'originalUri';
137
140
  }
138
- export type LroFinalResultStrategyHeaderName = 'operation-location' | 'azure-asyncoperation' | 'location';
141
+ /** The header containing URL to read the LRO status from. Either a pre-defined common value, or a custom string name */
142
+ export type LroFinalResultStrategyHeaderName = 'operation-location' | 'azure-asyncoperation' | 'location' | (string & {});
139
143
  /** LRO final result gets returned via the request sent to a URL that was returned in the first response, inside the */
140
144
  export interface LroFinalResultStrategyHeader {
141
145
  kind: 'header';
@@ -245,9 +249,17 @@ export interface HeaderScalarParameter extends HTTPParameterBase {
245
249
  */
246
250
  isApiVersion: boolean;
247
251
  }
248
- /** MethodOptions is the struct containing optional method params */
249
- export interface MethodOptions extends types.Option {
250
- type: types.Struct;
252
+ /** ParameterGroup is a group of parameters */
253
+ export interface ParameterGroup<T extends types.Option<types.Struct> | types.Struct> {
254
+ /** the name of the parameter */
255
+ name: string;
256
+ /** any docs for the parameter */
257
+ docs: types.Docs;
258
+ /**
259
+ * the parameter group's type. for the optional
260
+ * params group the type will be an Option<Struct>
261
+ */
262
+ type: T;
251
263
  }
252
264
  /** PartialBodyParameter is a param that's a field within a type passed via the HTTP request body */
253
265
  export interface PartialBodyParameter extends HTTPParameterBase {
@@ -258,7 +270,7 @@ export interface PartialBodyParameter extends HTTPParameterBase {
258
270
  */
259
271
  paramType: types.Type;
260
272
  /** the model in which the partial param is placed */
261
- type: types.RequestContent<types.Payload<types.Model>>;
273
+ type: types.RequestContent<types.Model>;
262
274
  /** the name of the field over the wire in model.fields for this param */
263
275
  serde: string;
264
276
  }
@@ -391,6 +403,8 @@ export interface ResponseHeadersTrait {
391
403
  docs: string;
392
404
  /** indicates the visibility of the trait */
393
405
  visibility: types.Visibility;
406
+ /** the module to which this trait belongs */
407
+ module: ModuleContainer;
394
408
  }
395
409
  interface ClientParameterBase {
396
410
  /** the name of the parameter */
@@ -410,7 +424,7 @@ interface HTTPMethodBase extends method.Method<types.Type> {
410
424
  /** the params passed to the method (excluding self). can be empty */
411
425
  params: Array<HTTPParameterBase>;
412
426
  /** the method options type for this method */
413
- options: MethodOptions;
427
+ options: ParameterGroup<types.Option<types.Struct>>;
414
428
  /** the type returned by the method */
415
429
  returns: types.Result;
416
430
  /**
@@ -429,8 +443,10 @@ interface HTTPMethodBase extends method.Method<types.Type> {
429
443
  interface HTTPParameterBase extends method.Parameter {
430
444
  /** location of the parameter (e.g. client or method) */
431
445
  location: ParameterLocation;
432
- /** optional params go in the method's MethodOptions type */
446
+ /** optional params go in the method's ParameterGroup type */
433
447
  optional: boolean;
448
+ /** set when this parameter belongs to a parameter group */
449
+ group?: ParameterGroup<types.Struct>;
434
450
  }
435
451
  declare class ClientParameterBase implements ClientParameterBase {
436
452
  constructor(name: string, type: types.Type, optional: boolean);
@@ -442,13 +458,13 @@ declare class HTTPParameterBase extends method.Parameter {
442
458
  constructor(name: string, location: ParameterLocation, optional: boolean, type: types.Type);
443
459
  }
444
460
  export declare class AsyncMethod extends HTTPMethodBase implements AsyncMethod {
445
- constructor(name: string, languageIndependentName: string, client: Client, visibility: types.Visibility, options: MethodOptions, httpMethod: HTTPMethod, httpPath: string);
461
+ constructor(name: string, languageIndependentName: string, client: Client, visibility: types.Visibility, options: ParameterGroup<types.Option<types.Struct>>, httpMethod: HTTPMethod, httpPath: string);
446
462
  }
447
463
  export declare class BodyParameter extends HTTPParameterBase implements BodyParameter {
448
464
  constructor(name: string, location: ParameterLocation, optional: boolean, type: types.RequestContent);
449
465
  }
450
466
  export declare class Client implements Client {
451
- constructor(name: string);
467
+ constructor(name: string, module: ModuleContainer);
452
468
  }
453
469
  export declare class ClientAccessor extends method.Method<Client> implements ClientAccessor {
454
470
  constructor(name: string, client: Client, returns: Client);
@@ -483,11 +499,8 @@ export declare class HeaderHashMapParameter extends HTTPParameterBase implements
483
499
  export declare class HeaderScalarParameter extends HTTPParameterBase implements HeaderScalarParameter {
484
500
  constructor(name: string, header: string, location: ParameterLocation, optional: boolean, type: HeaderScalarParameterType);
485
501
  }
486
- export declare class MethodOptions extends types.Option implements MethodOptions {
487
- constructor(type: types.Struct);
488
- }
489
502
  export declare class PageableMethod extends HTTPMethodBase implements PageableMethod {
490
- constructor(name: string, languageIndependentName: string, client: Client, visibility: types.Visibility, options: MethodOptions, httpMethod: HTTPMethod, httpPath: string);
503
+ constructor(name: string, languageIndependentName: string, client: Client, visibility: types.Visibility, options: ParameterGroup<types.Option<types.Struct>>, httpMethod: HTTPMethod, httpPath: string);
491
504
  }
492
505
  export declare class LroFinalResultStrategyOriginalUri implements LroFinalResultStrategyOriginalUri {
493
506
  constructor();
@@ -496,7 +509,7 @@ export declare class LroFinalResultStrategyHeader implements LroFinalResultStrat
496
509
  constructor(headerName: LroFinalResultStrategyHeaderName);
497
510
  }
498
511
  export declare class LroMethod extends HTTPMethodBase implements LroMethod {
499
- constructor(name: string, languageIndependentName: string, client: Client, visibility: types.Visibility, options: MethodOptions, httpMethod: HTTPMethod, httpPath: string, finalResultStrategy: LroFinalResultStrategyKind);
512
+ constructor(name: string, languageIndependentName: string, client: Client, visibility: types.Visibility, options: ParameterGroup<types.Option<types.Struct>>, httpMethod: HTTPMethod, httpPath: string, finalResultStrategy: LroFinalResultStrategyKind);
500
513
  }
501
514
  export declare class PageableStrategyContinuationToken implements PageableStrategyContinuationToken {
502
515
  constructor(requestToken: HeaderScalarParameter | QueryScalarParameter, responseToken: ResponseHeaderScalar | PageableStrategyNextLink);
@@ -504,8 +517,11 @@ export declare class PageableStrategyContinuationToken implements PageableStrate
504
517
  export declare class PageableStrategyNextLink implements PageableStrategyNextLink {
505
518
  constructor(nextLinkPath: Array<types.ModelField>);
506
519
  }
520
+ export declare class ParameterGroup<T extends types.Option<types.Struct> | types.Struct> implements ParameterGroup<T> {
521
+ constructor(name: string, type: T);
522
+ }
507
523
  export declare class PartialBodyParameter extends HTTPParameterBase implements PartialBodyParameter {
508
- constructor(name: string, location: ParameterLocation, optional: boolean, serde: string, paramType: types.Type, type: types.RequestContent<types.Payload<types.Model>>);
524
+ constructor(name: string, location: ParameterLocation, optional: boolean, serde: string, paramType: types.Type, type: types.RequestContent<types.Model>);
509
525
  }
510
526
  export declare class PathCollectionParameter extends HTTPParameterBase implements PathCollectionParameter {
511
527
  constructor(name: string, segment: string, location: ParameterLocation, optional: boolean, type: PathCollectionParameterType, encoded: boolean, style: ParameterStyle, explode: boolean);
@@ -532,7 +548,7 @@ export declare class ResponseHeaderScalar implements ResponseHeaderScalar {
532
548
  constructor(name: string, header: string, type: types.WireType);
533
549
  }
534
550
  export declare class ResponseHeadersTrait implements ResponseHeadersTrait {
535
- constructor(name: string, implFor: types.AsyncResponse<types.MarkerType> | types.Response<types.MarkerType | types.Model>, docs: string, visibility: types.Visibility);
551
+ constructor(name: string, implFor: types.AsyncResponse<types.MarkerType> | types.Response<types.MarkerType | types.Model>, docs: string, visibility: types.Visibility, module: ModuleContainer);
536
552
  }
537
553
  export declare class SupplementalEndpoint implements SupplementalEndpoint {
538
554
  constructor(path: string);