@azure-tools/typespec-rust 0.13.0 → 0.13.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.
Files changed (44) hide show
  1. package/dist/src/codegen/clients.d.ts.map +1 -1
  2. package/dist/src/codegen/clients.js +14 -14
  3. package/dist/src/codegen/clients.js.map +1 -1
  4. package/dist/src/codegen/context.js +6 -6
  5. package/dist/src/codegen/context.js.map +1 -1
  6. package/dist/src/codegen/enums.js +2 -2
  7. package/dist/src/codegen/enums.js.map +1 -1
  8. package/dist/src/codegen/headerTraits.d.ts.map +1 -1
  9. package/dist/src/codegen/headerTraits.js +48 -56
  10. package/dist/src/codegen/headerTraits.js.map +1 -1
  11. package/dist/src/codegen/helpers.d.ts +4 -3
  12. package/dist/src/codegen/helpers.d.ts.map +1 -1
  13. package/dist/src/codegen/helpers.js +14 -7
  14. package/dist/src/codegen/helpers.js.map +1 -1
  15. package/dist/src/codegen/lib.js +1 -1
  16. package/dist/src/codegen/lib.js.map +1 -1
  17. package/dist/src/codegen/models.js +15 -14
  18. package/dist/src/codegen/models.js.map +1 -1
  19. package/dist/src/codegen/use.d.ts +4 -11
  20. package/dist/src/codegen/use.d.ts.map +1 -1
  21. package/dist/src/codegen/use.js +103 -62
  22. package/dist/src/codegen/use.js.map +1 -1
  23. package/dist/src/codemodel/client.d.ts +30 -10
  24. package/dist/src/codemodel/client.d.ts.map +1 -1
  25. package/dist/src/codemodel/client.js +14 -5
  26. package/dist/src/codemodel/client.js.map +1 -1
  27. package/dist/src/codemodel/crate.js +2 -1
  28. package/dist/src/codemodel/crate.js.map +1 -1
  29. package/dist/src/codemodel/types.d.ts +54 -44
  30. package/dist/src/codemodel/types.d.ts.map +1 -1
  31. package/dist/src/codemodel/types.js +37 -65
  32. package/dist/src/codemodel/types.js.map +1 -1
  33. package/dist/src/emitter.d.ts.map +1 -1
  34. package/dist/src/emitter.js +2 -1
  35. package/dist/src/emitter.js.map +1 -1
  36. package/dist/src/lib.d.ts +1 -0
  37. package/dist/src/lib.d.ts.map +1 -1
  38. package/dist/src/lib.js +1 -0
  39. package/dist/src/lib.js.map +1 -1
  40. package/dist/src/tcgcadapter/adapter.d.ts +45 -0
  41. package/dist/src/tcgcadapter/adapter.d.ts.map +1 -1
  42. package/dist/src/tcgcadapter/adapter.js +215 -55
  43. package/dist/src/tcgcadapter/adapter.js.map +1 -1
  44. package/package.json +24 -24
@@ -1 +1 @@
1
- {"version":3,"file":"clients.d.ts","sourceRoot":"","sources":["../../../src/codegen/clients.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AAGxC,OAAO,KAAK,IAAI,MAAM,uBAAuB,CAAC;AAE9C,yBAAyB;AACzB,MAAM,WAAW,aAAa;IAC5B,iCAAiC;IACjC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAE/B,uCAAuC;IACvC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC;CACzB;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,aAAa,GAAG,SAAS,CAmPxE"}
1
+ {"version":3,"file":"clients.d.ts","sourceRoot":"","sources":["../../../src/codegen/clients.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AAGxC,OAAO,KAAK,IAAI,MAAM,uBAAuB,CAAC;AAE9C,yBAAyB;AACzB,MAAM,WAAW,aAAa;IAC5B,iCAAiC;IACjC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAE/B,uCAAuC;IACvC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC;CACzB;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,aAAa,GAAG,SAAS,CAoPxE"}
@@ -44,13 +44,14 @@ export function emitClients(crate) {
44
44
  deriveDefault = '';
45
45
  }
46
46
  body += helpers.formatDocComment(client.constructable.options.type.docs);
47
- use.addType('azure_core::fmt', 'SafeDebug');
47
+ use.add('azure_core::fmt', 'SafeDebug');
48
48
  body += `#[derive(Clone, ${deriveDefault}SafeDebug)]\n`;
49
49
  body += `pub struct ${client.constructable.options.type.name}`;
50
50
  if (client.constructable.options.type.fields.length > 0) {
51
51
  body += ' {\n';
52
52
  for (const field of client.constructable.options.type.fields) {
53
53
  use.addForType(field.type);
54
+ body += helpers.formatDocComment(field.docs);
54
55
  body += `${indent.get()}${helpers.emitVisibility(field.visibility)}${field.name}: ${helpers.getTypeDeclaration(field.type)},\n`;
55
56
  }
56
57
  body += '}\n\n'; // end client options
@@ -62,7 +63,7 @@ export function emitClients(crate) {
62
63
  body += `impl ${client.name} {\n`;
63
64
  if (client.constructable) {
64
65
  // this is an instantiable client, so we need to emit client options and constructors
65
- use.addType('azure_core', 'Result');
66
+ use.add('azure_core', 'Result');
66
67
  for (let i = 0; i < client.constructable.constructors.length; ++i) {
67
68
  const constructor = client.constructable.constructors[i];
68
69
  body += `${indent.get()}${helpers.formatDocComment(constructor.docs)}`;
@@ -216,7 +217,7 @@ export function emitClients(crate) {
216
217
  // add using for method_options as required
217
218
  for (const method of client.methods) {
218
219
  if (method.kind !== 'clientaccessor') {
219
- use.addType('crate::generated::models', method.options.type.name);
220
+ use.add('crate::generated::models', method.options.type.name);
220
221
  }
221
222
  }
222
223
  let content = helpers.contentPreamble();
@@ -241,7 +242,7 @@ function getMethodOptions(crate) {
241
242
  continue;
242
243
  }
243
244
  body += helpers.formatDocComment(method.options.type.docs);
244
- use.addType('azure_core::fmt', 'SafeDebug');
245
+ use.add('azure_core::fmt', 'SafeDebug');
245
246
  body += '#[derive(Clone, Default, SafeDebug)]\n';
246
247
  body += `${helpers.emitVisibility(method.visibility)}struct ${helpers.getTypeDeclaration(method.options.type)} {\n`;
247
248
  for (let i = 0; i < method.options.type.fields.length; ++i) {
@@ -408,7 +409,7 @@ function getMethodParamsSig(method, use) {
408
409
  function getAuthPolicy(ctor, use) {
409
410
  for (const param of ctor.params) {
410
411
  if (param.type.kind === 'arc' && param.type.type.kind === 'tokenCredential') {
411
- use.addTypes('azure_core::http::policies', ['BearerTokenCredentialPolicy', 'Policy']);
412
+ use.add('azure_core::http::policies', 'BearerTokenCredentialPolicy', 'Policy');
412
413
  const scopes = new Array();
413
414
  for (const scope of param.type.type.scopes) {
414
415
  scopes.push(`"${scope}"`);
@@ -754,7 +755,7 @@ function urlVarNeedsMut(paramGroups, method) {
754
755
  * @returns the contents of the method body
755
756
  */
756
757
  function getAsyncMethodBody(indent, use, client, method) {
757
- use.addTypes('azure_core::http', ['Context', 'Method', 'Request']);
758
+ use.add('azure_core::http', 'Context', 'Method', 'Request');
758
759
  const paramGroups = getMethodParamGroup(method);
759
760
  let body = 'let options = options.unwrap_or_default();\n';
760
761
  body += `${indent.get()}let ctx = Context::with_context(&options.method_options.context);\n`;
@@ -780,11 +781,10 @@ function getPageableMethodBody(indent, use, client, method) {
780
781
  else if (method.strategy.kind !== 'nextLink') {
781
782
  throw new Error('paged methods other than nextLink NYI');
782
783
  }
783
- const nextLinkName = method.strategy.nextLinkName;
784
- use.addType('azure_core', 'Result');
785
- use.addTypes('azure_core::http', ['Method', 'Pager', 'PagerResult', 'Request', 'Response', 'Url']);
786
- use.addType('azure_core', 'json');
787
- use.addForType(method.returns.type.type);
784
+ const nextLinkName = method.strategy.nextLink.name;
785
+ use.add('azure_core::http', 'Method', 'Pager', 'PagerResult', 'Request', 'Response', 'Url');
786
+ use.add('azure_core', 'json', 'Result');
787
+ use.addForType(method.returns.type.type.type);
788
788
  const paramGroups = getMethodParamGroup(method);
789
789
  const urlVar = 'first_url';
790
790
  let body = 'let options = options.unwrap_or_default().into_owned();\n';
@@ -818,7 +818,7 @@ function getPageableMethodBody(indent, use, client, method) {
818
818
  }]);
819
819
  body += ';\n';
820
820
  // here we want the T in Pager<T>
821
- const returnType = helpers.getTypeDeclaration(method.returns.type.type);
821
+ const returnType = helpers.getTypeDeclaration(method.returns.type.type.type);
822
822
  body += constructRequest(indent, use, method, paramGroups, false);
823
823
  body += `${indent.get()}let ctx = options.method_options.context.clone();\n`;
824
824
  body += `${indent.get()}let pipeline = pipeline.clone();\n`;
@@ -888,7 +888,7 @@ function getHeaderPathQueryParamValue(use, param, fromSelf) {
888
888
  paramName = 'self.' + paramName;
889
889
  }
890
890
  const encodeBytes = function (type, param) {
891
- use.addType('azure_core', 'base64');
891
+ use.add('azure_core', 'base64');
892
892
  let encoding;
893
893
  switch (type.encoding) {
894
894
  case 'std':
@@ -904,7 +904,7 @@ function getHeaderPathQueryParamValue(use, param, fromSelf) {
904
904
  return encoding;
905
905
  };
906
906
  const encodeDateTime = function (type, param) {
907
- use.addType('azure_core', 'date');
907
+ use.add('azure_core', 'date');
908
908
  switch (type.encoding) {
909
909
  case 'rfc3339':
910
910
  case 'rfc7231':
@@ -1 +1 @@
1
- {"version":3,"file":"clients.js","sourceRoot":"","sources":["../../../src/codegen/clients.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"clients.js","sourceRoot":"","sources":["../../../src/codegen/clients.ts"],"names":[],"mappings":"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"}
@@ -68,8 +68,8 @@ export class Context {
68
68
  recursiveAddBodyFormat(method.returns.type.content.type, method.returns.type.content.format);
69
69
  }
70
70
  else if (method.returns.type.kind === 'pager') {
71
- this.tryFromResponseTypes.set(helpers.getTypeDeclaration(method.returns.type.type), method.returns.type.format);
72
- recursiveAddBodyFormat(method.returns.type.type, method.returns.type.format);
71
+ this.tryFromResponseTypes.set(helpers.getTypeDeclaration(method.returns.type.type.type), method.returns.type.type.format);
72
+ recursiveAddBodyFormat(method.returns.type.type.type, method.returns.type.type.format);
73
73
  }
74
74
  }
75
75
  }
@@ -87,9 +87,9 @@ export class Context {
87
87
  if (!format) {
88
88
  return '';
89
89
  }
90
- use.addType('azure_core', 'Result');
91
- use.addType('azure_core::http', 'RequestContent');
92
- use.addType('azure_core', `${format}::to_${format}`);
90
+ use.add('azure_core', 'Result');
91
+ use.add('azure_core::http', 'RequestContent');
92
+ use.add('azure_core', `${format}::to_${format}`);
93
93
  const indent = new helpers.indentation();
94
94
  let content = `impl TryFrom<${helpers.getTypeDeclaration(type)}> for RequestContent<${helpers.getTypeDeclaration(type)}> {\n`;
95
95
  content += `${indent.get()}type Error = azure_core::Error;\n`;
@@ -112,7 +112,7 @@ export class Context {
112
112
  if (!format) {
113
113
  return '';
114
114
  }
115
- use.addType('azure_core::http', 'response::ResponseBody');
115
+ use.add('azure_core::http', 'response::ResponseBody');
116
116
  const indent = new helpers.indentation();
117
117
  let content = `impl azure_core::http::Model for ${helpers.getTypeDeclaration(type)} {\n`;
118
118
  content += `${indent.get()}async fn from_response_body(body: ResponseBody) -> Result<Self> {\n`;
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/codegen/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/codegen/context.ts"],"names":[],"mappings":"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"}
@@ -18,13 +18,13 @@ export function emitEnums(crate, context) {
18
18
  }
19
19
  const use = new Use('models');
20
20
  // note that create_extensible_enum uses create_enum, so it will always be used
21
- use.addType('azure_core', 'create_enum');
21
+ use.add('azure_core', 'create_enum');
22
22
  const indent = new helpers.indentation();
23
23
  let body = '';
24
24
  for (const rustEnum of crate.enums) {
25
25
  let enumType = 'create_enum';
26
26
  if (rustEnum.extensible) {
27
- use.addType('azure_core', 'create_extensible_enum');
27
+ use.add('azure_core', 'create_extensible_enum');
28
28
  enumType = 'create_extensible_enum';
29
29
  }
30
30
  body += `${enumType}!(\n`;
@@ -1 +1 @@
1
- {"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../src/codegen/enums.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../src/codegen/enums.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAG/F,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAG/B;;;;;;;GAOG;AACH,MAAM,UAAU,SAAS,CAAC,KAAiB,EAAE,OAAgB;IAC3D,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC9B,+EAA+E;IAC/E,GAAG,CAAC,GAAG,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;IAErC,MAAM,MAAM,GAAG,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IAEzC,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QACnC,IAAI,QAAQ,GAAG,aAAa,CAAC;QAC7B,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;YACxB,GAAG,CAAC,GAAG,CAAC,YAAY,EAAE,wBAAwB,CAAC,CAAC;YAChD,QAAQ,GAAG,wBAAwB,CAAC;QACtC,CAAC;QAED,IAAI,IAAI,GAAG,QAAQ,MAAM,CAAC;QAC1B,MAAM,IAAI,GAAG,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACrD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,cAAc,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC;QACjF,CAAC;QACD,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,IAAI,KAAK,CAAC;QAE7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;YAChD,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACjC,MAAM,IAAI,GAAG,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAClD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpB,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,cAAc,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC;YACjF,CAAC;YACD,+BAA+B;YAC/B,mDAAmD;YACnD,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,IAAI,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,KAAK,IAAI,CAAC;YAC3D,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBACnC,IAAI,IAAI,GAAG,CAAC;YACd,CAAC;YACD,IAAI,IAAI,IAAI,CAAC;QACf,CAAC;QAED,IAAI,IAAI,QAAQ,CAAC,CAAC,iBAAiB;IACrC,CAAC;IAED,yBAAyB;IACzB,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QACnC,IAAI,IAAI,OAAO,CAAC,2BAA2B,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAC3D,IAAI,IAAI,OAAO,CAAC,mBAAmB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,OAAO,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IACxC,OAAO,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;IACtB,OAAO,IAAI,IAAI,CAAC;IAEhB,OAAO;QACL,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,OAAO;KACjB,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"headerTraits.d.ts","sourceRoot":"","sources":["../../../src/codegen/headerTraits.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AAExC,OAAO,KAAK,IAAI,MAAM,uBAAuB,CAAC;AAE9C;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CA2K9E"}
1
+ {"version":3,"file":"headerTraits.d.ts","sourceRoot":"","sources":["../../../src/codegen/headerTraits.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AAExC,OAAO,KAAK,IAAI,MAAM,uBAAuB,CAAC;AAE9C;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAyJ9E"}
@@ -5,6 +5,7 @@
5
5
  import * as codegen from '@azure-tools/codegen';
6
6
  import * as helpers from './helpers.js';
7
7
  import { Use } from './use.js';
8
+ import * as rust from '../codemodel/index.js';
8
9
  /**
9
10
  * returns the emitted header traits, or undefined if there
10
11
  * are no header traits.
@@ -14,77 +15,61 @@ import { Use } from './use.js';
14
15
  * @returns the header traits content or undefined
15
16
  */
16
17
  export function emitHeaderTraits(crate) {
17
- const clientMethodsWithResponseHeaders = new Array();
18
+ const srcTraits = new Map();
18
19
  for (const client of crate.clients) {
19
20
  for (const method of client.methods) {
20
21
  if (method.kind === 'clientaccessor') {
21
22
  continue;
22
23
  }
23
- if (method.responseHeaders.length > 0) {
24
- clientMethodsWithResponseHeaders.push({
25
- client: client,
26
- method: method,
27
- });
24
+ else if (method.responseHeaders) {
25
+ let entry = srcTraits.get(method.responseHeaders.name);
26
+ if (!entry) {
27
+ entry = new Array();
28
+ srcTraits.set(method.responseHeaders.name, entry);
29
+ }
30
+ entry.push(method.responseHeaders);
28
31
  }
29
32
  }
30
33
  }
31
- if (clientMethodsWithResponseHeaders.length === 0) {
34
+ if (srcTraits.size === 0) {
32
35
  return undefined;
33
36
  }
34
- // fold headers across method return types into the same trait.
35
- // e.g. DoFoo() Response<Model> and DoBar() Response<Model> methods
36
- // return (unique) headers, they will be folded into one trait.
37
- // it does mean that headers unique to a method will be absent from
38
- // the response of the other method.
39
37
  const headers = new Array();
40
38
  const traits = new Array();
41
- for (const clientMethod of clientMethodsWithResponseHeaders) {
42
- const client = clientMethod.client;
43
- const method = clientMethod.method;
44
- if (method.returns.type.kind !== 'response') {
45
- throw new Error(`unexpected method return kind ${method.returns.type.kind}`);
46
- }
47
- else if (method.returns.type.content.kind !== 'marker' && method.returns.type.content.kind !== 'payload') {
48
- throw new Error(`unexpected method content kind ${method.returns.type.content.kind}`);
49
- }
50
- for (const responseHeader of method.responseHeaders) {
39
+ /** adds response headers to headers, avoiding duplicates */
40
+ const addHeaders = function (...responseHeaders) {
41
+ for (const responseHeader of responseHeaders) {
51
42
  if (!headers.find(v => v.header === responseHeader.header)) {
52
43
  headers.push(responseHeader);
53
44
  }
54
45
  }
55
- // if this trait is already implemented for a Response<T>
56
- // then just add any new headers to it
57
- const trait = traits.find(v => helpers.getTypeDeclaration(v.implFor) === helpers.getTypeDeclaration(method.returns.type));
58
- if (trait) {
59
- for (const responseHeader of method.responseHeaders) {
60
- const matchingHeader = trait.headers.find(h => h.header === responseHeader.header);
46
+ };
47
+ for (const srcTrait of srcTraits.values()) {
48
+ if (srcTrait.length === 1) {
49
+ // no traits to merge, just add and move on
50
+ traits.push(srcTrait[0]);
51
+ addHeaders(...srcTrait[0].headers);
52
+ continue;
53
+ }
54
+ // for traits with multiple impls, merge them into a single trait
55
+ const mergedHeaders = new Array();
56
+ let mergedDocs = '/// Provides access to typed response headers for the following methods:\n';
57
+ for (const src of srcTrait) {
58
+ mergedDocs += `/// * ${src.docs}\n`;
59
+ for (const responseHeader of src.headers) {
60
+ const matchingHeader = mergedHeaders.find(h => h.header === responseHeader.header);
61
61
  if (!matchingHeader) {
62
- trait.headers.push(responseHeader);
62
+ mergedHeaders.push(responseHeader);
63
63
  }
64
64
  else if (matchingHeader.type !== responseHeader.type) {
65
65
  // overlapping headers with different types
66
66
  throw new Error('overlapping headers');
67
67
  }
68
68
  }
69
- continue;
70
69
  }
71
- let traitName;
72
- switch (method.returns.type.content.kind) {
73
- case 'marker':
74
- traitName = `${method.returns.type.content.name}Headers`;
75
- break;
76
- case 'payload':
77
- traitName = `${helpers.getTypeDeclaration(method.returns.type.content.type)}Headers`;
78
- // Response<Vec<SignedIdentifier>> becomes VecSignedIdentifierHeaders
79
- traitName = traitName.replace(/(?:<|>)/g, '');
80
- break;
81
- }
82
- traits.push({
83
- name: traitName,
84
- docs: `Provides access to typed response headers for [\`${client.name}::${method.name}()\`](crate::generated::clients::${client.name}::${method.name}())`,
85
- headers: [...method.responseHeaders], // make a copy of the headers array
86
- implFor: method.returns.type,
87
- });
70
+ const mergedTrait = new rust.ResponseHeadersTrait(srcTrait[0].name, srcTrait[0].implFor, mergedDocs);
71
+ mergedTrait.headers = mergedHeaders;
72
+ traits.push(mergedTrait);
88
73
  }
89
74
  headers.sort((a, b) => helpers.sortAscending(getHeaderConstName(a), getHeaderConstName(b)));
90
75
  traits.sort((a, b) => helpers.sortAscending(a.name, b.name));
@@ -118,11 +103,11 @@ export function emitHeaderTraits(crate) {
118
103
  resultType = `Option<${getTypeDeclaration(header.type)}>`;
119
104
  break;
120
105
  }
121
- return `fn ${codegen.deconstruct(header.name).join('_')}(&self) -> Result<${resultType}>`;
106
+ return `fn ${header.name}(&self) -> Result<${resultType}>`;
122
107
  };
123
108
  const use = new Use('modelsOther');
124
- use.addType('azure_core', 'Result');
125
- use.addType('azure_core::http', 'headers::HeaderName');
109
+ use.add('azure_core', 'Result');
110
+ use.add('azure_core::http', 'headers::HeaderName', 'Response');
126
111
  const indent = new helpers.indentation();
127
112
  let body = '';
128
113
  for (const header of headers) {
@@ -137,7 +122,13 @@ export function emitHeaderTraits(crate) {
137
122
  }
138
123
  }
139
124
  for (const trait of traits) {
140
- body += `\n/// ${trait.docs}\n`;
125
+ if (trait.docs.startsWith('///')) {
126
+ // this trait was merged earlier so the doc comments are already baked
127
+ body += trait.docs;
128
+ }
129
+ else {
130
+ body += `\n/// Provides access to typed response headers for ${trait.docs}\n`;
131
+ }
141
132
  body += `pub trait ${trait.name}: private::Sealed {\n`;
142
133
  for (const header of trait.headers) {
143
134
  use.addForType(header.type);
@@ -145,7 +136,7 @@ export function emitHeaderTraits(crate) {
145
136
  }
146
137
  body += '}\n\n';
147
138
  use.addForType(helpers.unwrapType(trait.implFor));
148
- body += `impl ${trait.name} for ${helpers.getTypeDeclaration(trait.implFor)} {\n`;
139
+ body += `impl ${trait.name} for Response<${helpers.getTypeDeclaration(trait.implFor)}> {\n`;
149
140
  for (const header of trait.headers) {
150
141
  body += helpers.formatDocComment(header.docs);
151
142
  body += `${indent.get()}${getHeaderMethodName(header)} {\n`;
@@ -197,10 +188,10 @@ function getHeaderDeserialization(indent, use, header) {
197
188
  content += 'Ok(values)\n';
198
189
  return content;
199
190
  }
200
- use.addType('azure_core::http', 'headers::Headers');
191
+ use.add('azure_core::http', 'headers::Headers');
201
192
  switch (header.type.kind) {
202
193
  case 'encodedBytes': {
203
- use.addType('azure_core', 'base64');
194
+ use.add('azure_core', 'base64');
204
195
  const decoder = header.type.encoding === 'std' ? 'decode' : 'decode_url_safe';
205
196
  return `${indent.get()}Headers::get_optional_with(self.headers(), &${headerConstName}, |h| base64::${decoder}(h.as_str()))\n`;
206
197
  }
@@ -209,7 +200,7 @@ function getHeaderDeserialization(indent, use, header) {
209
200
  case 'String':
210
201
  return `${indent.get()}Headers::get_optional_as(self.headers(), &${headerConstName})\n`;
211
202
  case 'offsetDateTime': {
212
- use.addType('azure_core', 'date');
203
+ use.add('azure_core', 'date');
213
204
  return `${indent.get()}Headers::get_optional_with(self.headers(), &${headerConstName}, |h| date::parse_${header.type.encoding}(h.as_str()))\n`;
214
205
  }
215
206
  default:
@@ -225,10 +216,11 @@ function getHeaderDeserialization(indent, use, header) {
225
216
  function getSealedImpls(traitDefs) {
226
217
  const use = new Use('modelsOther');
227
218
  const indent = new helpers.indentation();
219
+ use.add('azure_core::http', 'Response');
228
220
  const implsFor = new Array();
229
221
  for (const traitDef of traitDefs) {
230
222
  use.addForType(traitDef.implFor);
231
- implsFor.push(`impl Sealed for ${helpers.getTypeDeclaration(traitDef.implFor)} {}`);
223
+ implsFor.push(`impl Sealed for Response<${helpers.getTypeDeclaration(traitDef.implFor)}> {}`);
232
224
  }
233
225
  implsFor.sort();
234
226
  let content = '\nmod private {\n';
@@ -1 +1 @@
1
- {"version":3,"file":"headerTraits.js","sourceRoot":"","sources":["../../../src/codegen/headerTraits.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"headerTraits.js","sourceRoot":"","sources":["../../../src/codegen/headerTraits.ts"],"names":[],"mappings":"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"}