@azure-tools/typespec-rust 0.16.0 → 0.18.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 (39) hide show
  1. package/README.md +4 -3
  2. package/dist/src/codegen/clients.d.ts.map +1 -1
  3. package/dist/src/codegen/clients.js +112 -34
  4. package/dist/src/codegen/clients.js.map +1 -1
  5. package/dist/src/codegen/enums.js +2 -2
  6. package/dist/src/codegen/enums.js.map +1 -1
  7. package/dist/src/codegen/headerTraits.js +5 -5
  8. package/dist/src/codegen/headerTraits.js.map +1 -1
  9. package/dist/src/codegen/helpers.d.ts +22 -8
  10. package/dist/src/codegen/helpers.d.ts.map +1 -1
  11. package/dist/src/codegen/helpers.js +51 -14
  12. package/dist/src/codegen/helpers.js.map +1 -1
  13. package/dist/src/codegen/models.d.ts.map +1 -1
  14. package/dist/src/codegen/models.js +18 -23
  15. package/dist/src/codegen/models.js.map +1 -1
  16. package/dist/src/codegen/use.d.ts +3 -1
  17. package/dist/src/codegen/use.d.ts.map +1 -1
  18. package/dist/src/codegen/use.js +3 -1
  19. package/dist/src/codegen/use.js.map +1 -1
  20. package/dist/src/codemodel/client.d.ts +98 -25
  21. package/dist/src/codemodel/client.d.ts.map +1 -1
  22. package/dist/src/codemodel/client.js +37 -7
  23. package/dist/src/codemodel/client.js.map +1 -1
  24. package/dist/src/codemodel/types.d.ts +2 -0
  25. package/dist/src/codemodel/types.d.ts.map +1 -1
  26. package/dist/src/codemodel/types.js +1 -1
  27. package/dist/src/codemodel/types.js.map +1 -1
  28. package/dist/src/shared/shared.d.ts +23 -0
  29. package/dist/src/shared/shared.d.ts.map +1 -0
  30. package/dist/src/shared/shared.js +91 -0
  31. package/dist/src/shared/shared.js.map +1 -0
  32. package/dist/src/tcgcadapter/adapter.d.ts.map +1 -1
  33. package/dist/src/tcgcadapter/adapter.js +72 -14
  34. package/dist/src/tcgcadapter/adapter.js.map +1 -1
  35. package/dist/src/tcgcadapter/helpers.d.ts +0 -15
  36. package/dist/src/tcgcadapter/helpers.d.ts.map +1 -1
  37. package/dist/src/tcgcadapter/helpers.js +0 -25
  38. package/dist/src/tcgcadapter/helpers.js.map +1 -1
  39. package/package.json +5 -5
package/README.md CHANGED
@@ -1,11 +1,12 @@
1
- # TypeSpec Rust Generator
1
+ # TypeSpec Rust Generator
2
2
 
3
3
  The TypeSpec Rust generator is intended to be used with the TypeSpec compiler.
4
4
 
5
- # Contributing
5
+ ## Contributing
6
+
6
7
  This project welcomes contributions and suggestions. Most contributions require you to agree to a
7
8
  Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us
8
- the rights to use your contribution. For details, visit https://cla.microsoft.com.
9
+ the rights to use your contribution. For details, visit <https://cla.microsoft.com>.
9
10
 
10
11
  When you submit a pull request, a CLA-bot will automatically determine whether you need to provide
11
12
  a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions
@@ -1 +1 @@
1
- {"version":3,"file":"clients.d.ts","sourceRoot":"","sources":["../../../src/codegen/clients.ts"],"names":[],"mappings":"AAQA,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"}
1
+ {"version":3,"file":"clients.d.ts","sourceRoot":"","sources":["../../../src/codegen/clients.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AAGxC,OAAO,KAAK,IAAI,MAAM,uBAAuB,CAAC;AAG9C,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"}
@@ -8,6 +8,7 @@ import { CodegenError } from './errors.js';
8
8
  import * as helpers from './helpers.js';
9
9
  import queryString from 'query-string';
10
10
  import { Use } from './use.js';
11
+ import * as shared from '../shared/shared.js';
11
12
  /**
12
13
  * emits the content for all client files
13
14
  *
@@ -316,13 +317,13 @@ function getParamsBlockDocComment(indent, callable) {
316
317
  // none of these are in the method sig so skip them
317
318
  continue;
318
319
  }
319
- paramsContent += helpers.formatDocComment(param.docs, formatParamBullet(param.name), indent);
320
+ paramsContent += helpers.formatDocComment(param.docs, false, formatParamBullet(param.name), indent);
320
321
  }
321
322
  if (callable.kind === 'constructor') {
322
- paramsContent += helpers.formatDocComment({ summary: 'Optional configuration for the client.' }, formatParamBullet('options'), indent);
323
+ paramsContent += helpers.formatDocComment({ summary: 'Optional configuration for the client.' }, false, formatParamBullet('options'), indent);
323
324
  }
324
325
  else if (callable.kind !== 'clientaccessor') {
325
- paramsContent += helpers.formatDocComment({ summary: 'Optional parameters for the request.' }, formatParamBullet('options'), indent);
326
+ paramsContent += helpers.formatDocComment({ summary: 'Optional parameters for the request.' }, false, formatParamBullet('options'), indent);
326
327
  }
327
328
  if (paramsContent.length === 0) {
328
329
  return undefined;
@@ -406,10 +407,11 @@ function getMethodParamsSig(method, use) {
406
407
  */
407
408
  function getAuthPolicy(ctor, use) {
408
409
  for (const param of ctor.params) {
409
- if (param.type.kind === 'arc' && param.type.type.kind === 'tokenCredential') {
410
+ const arcTokenCred = shared.asTypeOf(param.type, 'tokenCredential', 'arc');
411
+ if (arcTokenCred) {
410
412
  use.add('azure_core::http::policies', 'BearerTokenCredentialPolicy', 'Policy');
411
413
  const scopes = new Array();
412
- for (const scope of param.type.type.scopes) {
414
+ for (const scope of arcTokenCred.scopes) {
413
415
  scopes.push(`"${scope}"`);
414
416
  }
415
417
  return `let auth_policy: Arc<dyn Policy> = Arc::new(BearerTokenCredentialPolicy::new(credential, vec![${scopes.join(', ')}]));`;
@@ -518,7 +520,7 @@ function getMethodParamGroup(method) {
518
520
  const partialBodyParams = new Array();
519
521
  for (const param of method.params) {
520
522
  switch (param.kind) {
521
- case 'header':
523
+ case 'headerScalar':
522
524
  case 'headerCollection':
523
525
  case 'headerHashMap':
524
526
  headerParams.push(param);
@@ -526,15 +528,18 @@ function getMethodParamGroup(method) {
526
528
  case 'partialBody':
527
529
  partialBodyParams.push(param);
528
530
  break;
529
- case 'path':
531
+ case 'pathScalar':
532
+ case 'pathCollection':
533
+ case 'pathHashMap':
530
534
  pathParams.push(param);
531
535
  break;
532
- case 'query':
536
+ case 'queryScalar':
533
537
  case 'queryCollection':
538
+ case 'queryHashMap':
534
539
  queryParams.push(param);
535
540
  break;
536
541
  }
537
- if ((param.kind === 'header' || param.kind === 'query') && param.isApiVersion) {
542
+ if ((param.kind === 'headerScalar' || param.kind === 'queryScalar') && param.isApiVersion) {
538
543
  apiVersionParam = param;
539
544
  }
540
545
  }
@@ -624,7 +629,71 @@ function constructUrl(indent, use, method, paramGroups, urlVarName = 'url') {
624
629
  // we have path params that need to have their segments replaced with the param values
625
630
  body += `${indent.get()}let mut path = String::from(${path});\n`;
626
631
  for (const pathParam of paramGroups.path) {
627
- body += `${indent.get()}path = path.replace("{${pathParam.segment}}", ${borrowOrNot(pathParam)}${getHeaderPathQueryParamValue(use, pathParam, true)});\n`;
632
+ let wrapSortedVec = (s) => s;
633
+ let paramExpression = `${borrowOrNot(pathParam)}${getHeaderPathQueryParamValue(use, pathParam, true)}`;
634
+ if (pathParam.kind === 'pathHashMap') {
635
+ wrapSortedVec = (s) => `${indent.get()}{`
636
+ + `${indent.push().get()}let mut ${pathParam.name}_vec = ${pathParam.name}.iter().collect::<Vec<_>>();\n`
637
+ + `${indent.get()}${pathParam.name}_vec.sort_by_key(|p| p.0);\n`
638
+ + `${s}`
639
+ + `${indent.pop().get()}}`;
640
+ const kEqualsV = '"{k}={v}"';
641
+ const kCommaV = '"{k},{v}"';
642
+ paramExpression = `&${pathParam.name}_vec.iter().map(|(k,v)| `
643
+ + (pathParam.explode
644
+ ? `format!(${kEqualsV})).collect::<Vec<_>>().join(",")`
645
+ : `format!(${kCommaV})).collect::<Vec<_>>().join(",")`);
646
+ switch (pathParam.style) {
647
+ case 'path':
648
+ paramExpression = `&format!("/{}", ${pathParam.name}_vec.iter().map(|(k,v)| `
649
+ + (pathParam.explode
650
+ ? `format!(${kEqualsV})).collect::<Vec<_>>().join("/"))`
651
+ : `format!(${kCommaV})).collect::<Vec<_>>().join(","))`);
652
+ break;
653
+ case 'label':
654
+ paramExpression = `&format!(".{}", ${pathParam.name}_vec.iter().map(|(k,v)| `
655
+ + (pathParam.explode
656
+ ? `format!(${kEqualsV})).collect::<Vec<_>>().join("."))`
657
+ : `format!(${kCommaV})).collect::<Vec<_>>().join(","))`);
658
+ break;
659
+ case 'matrix':
660
+ paramExpression = pathParam.explode
661
+ ? (`&format!(";{}", ${pathParam.name}_vec.into_iter().map(|(k,v)| `
662
+ + `format!(${kEqualsV})).collect::<Vec<_>>().join(";"))`)
663
+ : (`&format!(";${pathParam.name}={}", ${pathParam.name}_vec.into_iter().map(|(k,v)| `
664
+ + `format!(${kCommaV})).collect::<Vec<_>>().join(","))`);
665
+ break;
666
+ }
667
+ }
668
+ else if (pathParam.kind === 'pathCollection') {
669
+ paramExpression = `&${pathParam.name}.join(",")`;
670
+ switch (pathParam.style) {
671
+ case 'path':
672
+ paramExpression = `&format!("/{}", ${pathParam.name}.join("${pathParam.explode ? '/' : ','}"))`;
673
+ break;
674
+ case 'label':
675
+ paramExpression = `&format!(".{}", ${pathParam.name}.join("${pathParam.explode ? '.' : ','}"))`;
676
+ break;
677
+ case 'matrix':
678
+ paramExpression = `&format!(";${pathParam.name}={}", ${pathParam.name}.join(`
679
+ + `"${pathParam.explode ? `;${pathParam.name}=` : ','}"))`;
680
+ break;
681
+ }
682
+ }
683
+ else {
684
+ switch (pathParam.style) {
685
+ case 'path':
686
+ paramExpression = `&format!("/{${paramExpression}}")`;
687
+ break;
688
+ case 'label':
689
+ paramExpression = `&format!(".{${paramExpression}}")`;
690
+ break;
691
+ case 'matrix':
692
+ paramExpression = `&format!(";${pathParam.name}={${paramExpression}}")`;
693
+ break;
694
+ }
695
+ }
696
+ body += wrapSortedVec(`${indent.get()}path = path.replace("{${pathParam.segment}}", ${paramExpression});\n`);
628
697
  }
629
698
  path = '&path';
630
699
  body += `${indent.get()}${urlVarName} = ${urlVarName}.join(${path})?;\n`;
@@ -662,6 +731,23 @@ function constructUrl(indent, use, method, paramGroups, urlVarName = 'url') {
662
731
  return text;
663
732
  });
664
733
  }
734
+ else if (queryParam.kind === 'queryHashMap') {
735
+ body += getParamValueHelper(indent, queryParam, false, () => {
736
+ let text = `${indent.get()}{\n`;
737
+ text += `${indent.push().get()}let mut ${queryParam.name}_vec = ${queryParam.name}.iter().collect::<Vec<_>>();\n`;
738
+ text += `${indent.get()}${queryParam.name}_vec.sort_by_key(|p| p.0);\n`;
739
+ if (queryParam.explode) {
740
+ text += `${indent.get()}for (k, v) in ${queryParam.name}_vec.iter() {\n`;
741
+ text += `${indent.push().get()}${urlVarName}.query_pairs_mut().append_pair(k, &v.to_string());\n`;
742
+ text += `${indent.pop().get()}}\n`;
743
+ }
744
+ else {
745
+ text += `${indent.get()}${urlVarName}.query_pairs_mut().append_pair("${queryParam.key}", ${queryParam.name}_vec.iter().map(|(k, v)| format!("{k},{v}")).collect::<Vec<String>>().join(",").as_str());\n`;
746
+ }
747
+ text += `${indent.pop().get()}}\n`;
748
+ return text;
749
+ });
750
+ }
665
751
  else {
666
752
  body += getParamValueHelper(indent, queryParam, false, () => {
667
753
  // for enums we call .as_ref() which elides the need to borrow
@@ -690,11 +776,11 @@ function constructRequest(indent, use, method, paramGroups, inClosure) {
690
776
  let optionalContentTypeParam;
691
777
  for (const headerParam of paramGroups.header) {
692
778
  // if the content-type header is optional, we need to emit it inside the "if let Some(body)" clause below.
693
- if (headerParam.kind === 'header' && headerParam.optional && headerParam.header.toLowerCase() === 'content-type') {
779
+ if (headerParam.kind === 'headerScalar' && headerParam.optional && headerParam.header.toLowerCase() === 'content-type') {
694
780
  optionalContentTypeParam = headerParam;
695
781
  continue;
696
782
  }
697
- if (method.kind === 'pageable' && ((_a = method.strategy) === null || _a === void 0 ? void 0 : _a.kind) === 'continuationToken' && ((_b = method.strategy) === null || _b === void 0 ? void 0 : _b.requestToken.kind) === 'header' && ((_c = method.strategy) === null || _c === void 0 ? void 0 : _c.requestToken) === headerParam) {
783
+ if (method.kind === 'pageable' && ((_a = method.strategy) === null || _a === void 0 ? void 0 : _a.kind) === 'continuationToken' && ((_b = method.strategy) === null || _b === void 0 ? void 0 : _b.requestToken.kind) === 'headerScalar' && ((_c = method.strategy) === null || _c === void 0 ? void 0 : _c.requestToken) === headerParam) {
698
784
  // we have some special handling for the header continuation token.
699
785
  // if we have a token value, i.e. from the next page, then use that value.
700
786
  // if not, then check if an optional token value was provided.
@@ -707,7 +793,7 @@ function constructRequest(indent, use, method, paramGroups, inClosure) {
707
793
  body += getParamValueHelper(indent, headerParam, inClosure, () => {
708
794
  if (headerParam.kind === 'headerHashMap') {
709
795
  let setter = `for (k, v) in &${headerParam.name} {\n`;
710
- setter += `${indent.push().get()}request.insert_header(format!("${headerParam.header}-{}", k), v);\n`;
796
+ setter += `${indent.push().get()}request.insert_header(format!("${headerParam.header}-{k}"), v);\n`;
711
797
  setter += `${indent.pop().get()}}\n`;
712
798
  return setter;
713
799
  }
@@ -823,8 +909,8 @@ function getPageableMethodBody(indent, use, client, method) {
823
909
  case 'continuationToken': {
824
910
  const reqTokenParam = method.strategy.requestToken.name;
825
911
  body += `${indent.get()}Ok(${method.returns.type.name}::from_callback(move |${reqTokenParam}: Option<String>| {\n`;
826
- body += `${indent.push().get()}let ${method.strategy.requestToken.kind === 'query' ? 'mut ' : ''}url = first_url.clone();\n`;
827
- if (method.strategy.requestToken.kind === 'query') {
912
+ body += `${indent.push().get()}let ${method.strategy.requestToken.kind === 'queryScalar' ? 'mut ' : ''}url = first_url.clone();\n`;
913
+ if (method.strategy.requestToken.kind === 'queryScalar') {
828
914
  // if the url already contains the token query param,
829
915
  // e.g. we started on some page, then we need to remove
830
916
  // it before appending the token for the next page.
@@ -854,7 +940,7 @@ function getPageableMethodBody(indent, use, client, method) {
854
940
  body += `${indent.push().get()}let url = ` + helpers.buildMatch(indent, nextLinkName, [{
855
941
  pattern: `Some(${nextLinkName})`,
856
942
  body: (indent) => {
857
- if (paramGroups.apiVersion && paramGroups.apiVersion.kind === 'query') {
943
+ if (paramGroups.apiVersion && paramGroups.apiVersion.kind === 'queryScalar') {
858
944
  const apiVersionKey = `"${paramGroups.apiVersion.key}"`;
859
945
  // there are no APIs to set/update an existing query parameter.
860
946
  // so, we filter the existing query params to remove the api-version
@@ -933,12 +1019,12 @@ function getPageableMethodBody(indent, use, client, method) {
933
1019
  break;
934
1020
  }
935
1021
  // we need to handle the case where the next page value is the empty string,
936
- // so checking strickly for None(theNextLink) is insufficient.
1022
+ // so checking strictly for None(theNextLink) is insufficient.
937
1023
  // the most common case for this is XML, e.g. an empty tag like <NextLink />
938
1024
  body += `${indent.get()}Ok(${helpers.buildMatch(indent, srcNextPage, [{
939
1025
  pattern: `Some(${nextPageValue}) if !${nextPageValue}.is_empty()`,
940
1026
  body: (indent) => {
941
- return `${indent.get()}response: rsp, next: ${continuation}`;
1027
+ return `${indent.get()}response: rsp, continuation: ${continuation}`;
942
1028
  },
943
1029
  returns: 'PagerResult::More',
944
1030
  }, {
@@ -1002,29 +1088,21 @@ function getHeaderPathQueryParamValue(use, param, fromSelf) {
1002
1088
  paramName = 'self.' + paramName;
1003
1089
  }
1004
1090
  const encodeBytes = function (type, param) {
1005
- use.add('azure_core', 'base64');
1006
- let encoding;
1007
- switch (type.encoding) {
1008
- case 'std':
1009
- encoding = 'base64::encode';
1010
- break;
1011
- case 'url':
1012
- encoding = 'base64::encode_url_safe';
1013
- break;
1014
- }
1091
+ const encoding = helpers.getBytesEncodingMethod(type.encoding, 'encode', use);
1015
1092
  if (param) {
1016
1093
  return `${encoding}(${param})`;
1017
1094
  }
1018
1095
  return encoding;
1019
1096
  };
1020
1097
  const encodeDateTime = function (type, param) {
1021
- use.add('azure_core', 'date');
1098
+ const encoding = helpers.getDateTimeEncodingMethod(type.encoding, 'to', use);
1022
1099
  switch (type.encoding) {
1023
1100
  case 'rfc3339':
1024
- case 'rfc7231':
1025
- return `date::to_${type.encoding}(&${param})`;
1101
+ case 'rfc7231': {
1102
+ return `${encoding}(&${param})`;
1103
+ }
1026
1104
  case 'unix_time':
1027
- return `${param}.unix_timestamp().to_string()`;
1105
+ return `${param}.${encoding}.to_string()`;
1028
1106
  }
1029
1107
  };
1030
1108
  const paramType = helpers.unwrapType(param.type);
@@ -1059,7 +1137,7 @@ function getHeaderPathQueryParamValue(use, param, fromSelf) {
1059
1137
  return encodeBytes(paramType, paramName);
1060
1138
  case 'enum':
1061
1139
  case 'scalar':
1062
- if (paramType.kind === 'enum' && param.kind === 'query') {
1140
+ if (paramType.kind === 'enum' && param.kind === 'queryScalar') {
1063
1141
  // append_pair wants a reference to the string
1064
1142
  // TODO: https://github.com/Azure/typespec-rust/issues/25
1065
1143
  return `${paramName}.as_ref()`;
@@ -1095,7 +1173,7 @@ function getCollectionDelimiter(format) {
1095
1173
  }
1096
1174
  /** returns true if the type isn't copyable thus nees to be cloned */
1097
1175
  function nonCopyableType(type) {
1098
- const unwrappedType = helpers.unwrapOption(type);
1176
+ const unwrappedType = shared.unwrapOption(type);
1099
1177
  switch (unwrappedType.kind) {
1100
1178
  case 'String':
1101
1179
  case 'Url':
@@ -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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"}
@@ -29,14 +29,14 @@ export function emitEnums(crate, context) {
29
29
  enumType = 'create_extensible_enum';
30
30
  }
31
31
  body += `${enumType}!(\n`;
32
- const docs = helpers.formatDocComment(rustEnum.docs);
32
+ const docs = helpers.formatDocComment(rustEnum.docs, true);
33
33
  if (docs.length > 0) {
34
34
  body += `${indent.get()}#[doc = r#"${docs.substring(0, docs.length - 1)}"#]\n`;
35
35
  }
36
36
  body += `${indent.get()}${rustEnum.name},\n`;
37
37
  for (let i = 0; i < rustEnum.values.length; ++i) {
38
38
  const value = rustEnum.values[i];
39
- const docs = helpers.formatDocComment(value.docs);
39
+ const docs = helpers.formatDocComment(value.docs, true);
40
40
  if (docs.length > 0) {
41
41
  body += `${indent.get()}#[doc = r#"${docs.substring(0, docs.length - 1)}"#]\n`;
42
42
  }
@@ -1 +1 @@
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,MAAA,OAAO,CAAC,2BAA2B,CAAC,QAAQ,EAAE,GAAG,CAAC,mCAAI,EAAE,CAAC;IACnE,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
+ {"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,EAAE,IAAI,CAAC,CAAC;QAC3D,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,EAAE,IAAI,CAAC,CAAC;YACxD,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,MAAA,OAAO,CAAC,2BAA2B,CAAC,QAAQ,EAAE,GAAG,CAAC,mCAAI,EAAE,CAAC;IACnE,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"}
@@ -193,17 +193,17 @@ function getHeaderDeserialization(indent, use, header) {
193
193
  use.add('azure_core::http', 'headers::Headers');
194
194
  switch (header.type.kind) {
195
195
  case 'encodedBytes': {
196
- use.add('azure_core', 'base64');
197
- const decoder = header.type.encoding === 'std' ? 'decode' : 'decode_url_safe';
198
- return `${indent.get()}Headers::get_optional_with(self.headers(), &${headerConstName}, |h| base64::${decoder}(h.as_str()))\n`;
196
+ const decoder = helpers.getBytesEncodingMethod(header.type.encoding, 'decode', use);
197
+ return `${indent.get()}Headers::get_optional_with(self.headers(), &${headerConstName}, |h| ${decoder}(h.as_str()))\n`;
199
198
  }
200
199
  case 'enum':
201
200
  case 'scalar':
202
201
  case 'String':
203
202
  return `${indent.get()}Headers::get_optional_as(self.headers(), &${headerConstName})\n`;
204
203
  case 'offsetDateTime': {
205
- use.add('azure_core', 'date');
206
- return `${indent.get()}Headers::get_optional_with(self.headers(), &${headerConstName}, |h| date::parse_${header.type.encoding}(h.as_str()))\n`;
204
+ const timeParse = `parse_${header.type.encoding}`;
205
+ use.add('azure_core', `time::${timeParse}`);
206
+ return `${indent.get()}Headers::get_optional_with(self.headers(), &${headerConstName}, |h| ${timeParse}(h.as_str()))\n`;
207
207
  }
208
208
  default:
209
209
  return `${indent.get()}todo!();\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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"}