@azure-tools/typespec-rust 0.28.0 → 0.29.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.
@@ -1 +1 @@
1
- {"version":3,"file":"clients.d.ts","sourceRoot":"","sources":["../../../src/codegen/clients.ts"],"names":[],"mappings":"AAWA,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,CAkRxE"}
1
+ {"version":3,"file":"clients.d.ts","sourceRoot":"","sources":["../../../src/codegen/clients.ts"],"names":[],"mappings":"AAWA,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,CAuRxE"}
@@ -90,11 +90,17 @@ export function emitClients(crate) {
90
90
  // construct the supplemental path and join it to the endpoint
91
91
  if (client.constructable.endpoint) {
92
92
  const supplementalEndpoint = client.constructable.endpoint;
93
- body += `${indent.get()}let mut host = String::from("${supplementalEndpoint.path}");\n`;
94
- for (const param of supplementalEndpoint.parameters) {
95
- body += `${indent.get()}host = host.replace("{${param.segment}}", ${getClientSupplementalEndpointParamValue(param)});\n`;
93
+ if (supplementalEndpoint.parameters.length > 0) {
94
+ body += `${indent.get()}let mut host = String::from("${supplementalEndpoint.path}");\n`;
95
+ for (const param of supplementalEndpoint.parameters) {
96
+ body += `${indent.get()}host = host.replace("{${param.segment}}", ${getClientSupplementalEndpointParamValue(param)});\n`;
97
+ }
98
+ body += `${indent.push().get()}${endpointParamName} = ${endpointParamName}.join(&host)?;\n`;
99
+ }
100
+ else {
101
+ // there are no params for the supplemental host, so just append it
102
+ body += `${indent.push().get()}${endpointParamName} = ${endpointParamName}.join("${supplementalEndpoint.path}")?;\n`;
96
103
  }
97
- body += `${indent.push().get()}${endpointParamName} = ${endpointParamName}.join(&host)?;\n`;
98
104
  }
99
105
  // if there's a credential param, create the necessary auth policy
100
106
  const authPolicy = getAuthPolicy(constructor, use);
@@ -299,9 +305,7 @@ function getMethodOptions(crate) {
299
305
  if (field.type.kind === 'external' && (field.type.name === 'ClientMethodOptions' || field.type.name === 'PagerOptions' || field.type.name === 'PollerOptions')) {
300
306
  body += `${indent.get()}${field.name}: ${field.type.name} {\n`;
301
307
  body += `${indent.push().get()}context: self.${field.name}.context.into_owned(),\n`;
302
- if (field.type.name === 'PollerOptions') {
303
- body += `${indent.get()}frequency: self.${field.name}.frequency,\n`;
304
- }
308
+ body += `${indent.get()}..self.${field.name}\n`;
305
309
  body += `${indent.pop().get()}},\n`;
306
310
  continue;
307
311
  }
@@ -1035,7 +1039,7 @@ function emitEmptyPathParamCheck(indent, param) {
1035
1039
  }
1036
1040
  return helpers.buildIfBlock(indent, {
1037
1041
  condition: `${param.name}${toString}.is_empty()`,
1038
- body: (indent) => `${indent.get()}return Err(azure_core::Error::with_message(azure_core::error::ErrorKind::Other, "parameter ${param.name} cannot be empty"));`,
1042
+ body: (indent) => `${indent.get()}return Err(azure_core::Error::with_message(azure_core::error::ErrorKind::Other, "parameter ${param.name} cannot be empty"));\n`,
1039
1043
  });
1040
1044
  }
1041
1045
  /**
@@ -1107,7 +1111,7 @@ function getPageableMethodBody(indent, use, client, method) {
1107
1111
  switch (method.strategy.kind) {
1108
1112
  case 'continuationToken': {
1109
1113
  const reqTokenParam = method.strategy.requestToken.name;
1110
- body += `${indent.get()}Ok(${method.returns.type.name}::from_callback(move |${reqTokenParam}: PagerState<String>, ctx| {\n`;
1114
+ body += `${indent.get()}Ok(${method.returns.type.name}::from_callback(move |${reqTokenParam}: PagerState<String>, pager_options| {\n`;
1111
1115
  body += `${indent.push().get()}let ${method.strategy.requestToken.kind === 'queryScalar' ? 'mut ' : ''}url = first_url.clone();\n`;
1112
1116
  if (method.strategy.requestToken.kind === 'queryScalar') {
1113
1117
  // if the url already contains the token query param,
@@ -1137,7 +1141,7 @@ function getPageableMethodBody(indent, use, client, method) {
1137
1141
  case 'nextLink': {
1138
1142
  const nextLinkName = method.strategy.nextLinkPath[method.strategy.nextLinkPath.length - 1].name;
1139
1143
  const reinjectedParams = method.strategy.reinjectedParams;
1140
- body += `${indent.get()}Ok(${method.returns.type.name}::from_callback(move |${nextLinkName}: PagerState<Url>, ctx| {\n`;
1144
+ body += `${indent.get()}Ok(${method.returns.type.name}::from_callback(move |${nextLinkName}: PagerState<Url>, pager_options| {\n`;
1141
1145
  body += `${indent.push().get()}let url = ` + helpers.buildMatch(indent, nextLinkName, [{
1142
1146
  pattern: `PagerState::More(${nextLinkName})`,
1143
1147
  body: (indent) => {
@@ -1178,7 +1182,7 @@ function getPageableMethodBody(indent, use, client, method) {
1178
1182
  }
1179
1183
  else {
1180
1184
  // no next link when there's no strategy
1181
- body += `${indent.get()}Ok(Pager::from_callback(move |_: PagerState<Url>, ctx| {\n`;
1185
+ body += `${indent.get()}Ok(Pager::from_callback(move |_: PagerState<Url>, pager_options| {\n`;
1182
1186
  indent.push();
1183
1187
  cloneUrl = true;
1184
1188
  srcUrlVar = urlVar;
@@ -1198,7 +1202,7 @@ function getPageableMethodBody(indent, use, client, method) {
1198
1202
  body += requestResult.content;
1199
1203
  body += `${indent.get()}let pipeline = pipeline.clone();\n`;
1200
1204
  body += `${indent.get()}async move {\n`;
1201
- body += `${indent.push().get()}let rsp${rspType} = pipeline.send(&ctx, &mut ${requestResult.requestVarName}, ${getPipelineOptions(indent, use, method)}).await?${rspInto};\n`;
1205
+ body += `${indent.push().get()}let rsp${rspType} = pipeline.send(&pager_options.context, &mut ${requestResult.requestVarName}, ${getPipelineOptions(indent, use, method)}).await?${rspInto};\n`;
1202
1206
  // check if we need to extract the next link field from the response model
1203
1207
  if (method.strategy && (method.strategy.kind === 'nextLink' || method.strategy.responseToken.kind === 'nextLink')) {
1204
1208
  const bodyFormat = helpers.convertResponseFormat(method.returns.type.type.format);
@@ -1305,7 +1309,6 @@ function getLroMethodBody(indent, use, client, method) {
1305
1309
  const urlVar = helpers.getUniqueVarName(method.params, ['url', 'url_var']);
1306
1310
  let body = 'let options = options.unwrap_or_default().into_owned();\n';
1307
1311
  body += `${indent.get()}let pipeline = self.pipeline.clone();\n`;
1308
- body += `${indent.get()}let method_options = options.method_options.to_owned();\n`;
1309
1312
  body += `${indent.get()}let ${urlVarNeedsMut(paramGroups, method)}${urlVar} = self.${getEndpointFieldName(client)}.clone();\n`;
1310
1313
  body += constructUrl(indent, use, method, paramGroups, urlVar);
1311
1314
  if (paramGroups.apiVersion) {
@@ -1367,7 +1370,7 @@ function getLroMethodBody(indent, use, client, method) {
1367
1370
  return body;
1368
1371
  },
1369
1372
  }])};\n`;
1370
- body += `${indent.get()}let ctx = options.method_options.context.clone();\n`;
1373
+ body += `${indent.get()}let ctx = poller_options.context.clone();\n`;
1371
1374
  body += `${indent.get()}let pipeline = pipeline.clone();\n`;
1372
1375
  body += `${indent.get()}async move {\n`;
1373
1376
  body += `${indent.push().get()}let rsp = pipeline.send(&ctx, &mut ${initialRequestResult.requestVarName}, ${getPipelineOptions(indent, use, method)}).await?;\n`;
@@ -1448,7 +1451,7 @@ function getLroMethodBody(indent, use, client, method) {
1448
1451
  body += `${indent.get()}Ok(${helpers.buildMatch(indent, 'res.status()', arms)})\n`;
1449
1452
  body += `${indent.pop().get()}}\n`; // end async move
1450
1453
  body += `${indent.pop().get()}},\n`; // end move
1451
- body += `${indent.pop().get()} Some(method_options),))`; // end Ok/Poller::from_callback
1454
+ body += `${indent.pop().get()} Some(options.method_options),))`; // end Ok/Poller::from_callback
1452
1455
  return body;
1453
1456
  }
1454
1457
  /**
@@ -1517,6 +1520,9 @@ function getHeaderPathQueryParamValue(use, param, fromSelf, neverBorrow) {
1517
1520
  }
1518
1521
  case 'unix_time':
1519
1522
  return `${paramName}.${encoding}.to_string()`;
1523
+ default:
1524
+ // rfc3339-fixed-width isn't applicable here (it has a very specific use case)
1525
+ throw new CodegenError('InternalError', `unexpected date-time encoding ${type.encoding}`);
1520
1526
  }
1521
1527
  };
1522
1528
  // this will contain the final text for
@@ -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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"}
@@ -443,7 +443,7 @@ function addSerDeHelper(field, serdeParams, format, use) {
443
443
  switch (unwrapped.kind) {
444
444
  case 'encodedBytes':
445
445
  case 'offsetDateTime':
446
- name += `_${unwrapped.encoding}`;
446
+ name += `_${codegen.deconstruct(unwrapped.encoding).join('_')}`;
447
447
  break;
448
448
  default:
449
449
  throw new CodegenError('InternalError', `unexpected kind ${unwrapped.kind}`);
@@ -488,7 +488,7 @@ function addSerDeHelper(field, serdeParams, format, use) {
488
488
  literalValueName = literalValueName.replace('.', 'point');
489
489
  }
490
490
  else if (literal.valueKind.kind === 'String') {
491
- literalValueName = literalValueName.replace('/', '_');
491
+ literalValueName = literalValueName.replace(/\W/g, '_');
492
492
  }
493
493
  const optional = field.optional ? 'optional_' : '';
494
494
  const typeName = literal.valueKind.kind === 'scalar' ? literal.valueKind.type : literal.valueKind.kind.toLowerCase();
@@ -526,7 +526,7 @@ function addSerDeHelper(field, serdeParams, format, use) {
526
526
  case 'literal':
527
527
  return serdeLiteral(field.type.type);
528
528
  case 'offsetDateTime':
529
- if (format === 'json' || unwrapped.encoding !== 'rfc3339') {
529
+ if (format === 'json' || (unwrapped.encoding !== 'rfc3339' && unwrapped.encoding !== 'rfc3339-fixed-width')) {
530
530
  return serdeOffsetDateTime(unwrapped.encoding, true);
531
531
  }
532
532
  // for XML we intentionally fall through
@@ -731,7 +731,7 @@ function buildLiteralSerialize(indent, name, field, use) {
731
731
  }, {
732
732
  pattern: 'false',
733
733
  body: (indent) => `${indent.get()}serializer.serialize_none()\n`,
734
- }])}`;
734
+ }])}\n`;
735
735
  }
736
736
  else {
737
737
  content += `${indent.get()}${toSerialize}`;
@@ -793,7 +793,15 @@ function buildSerialize(indent, type, use) {
793
793
  };
794
794
  let content = `${indent.get()}pub fn serialize<S>(to_serialize: &${getTypeDeclaration(type)}, serializer: S) -> Result<S::Ok, S::Error>\n`;
795
795
  content += `${indent.get()}where S: Serializer\n${indent.get()}{\n`;
796
- content += recursiveBuildSerializeBody(indent.push(), use, {
796
+ indent.push();
797
+ const unwrappedType = helpers.unwrapType(type);
798
+ if (unwrappedType.kind === 'offsetDateTime' && unwrappedType.encoding === 'rfc3339-fixed-width') {
799
+ // create the seven digit, fixed width format
800
+ use.add('std::num', 'NonZero');
801
+ use.add('time::format_description::well_known', 'iso8601', 'Iso8601');
802
+ content += `${indent.get()}let format = Iso8601::<{iso8601::Config::DEFAULT.set_time_precision(iso8601::TimePrecision::Second {decimal_digits: NonZero::new(7)}).encode()}>;\n`;
803
+ }
804
+ content += recursiveBuildSerializeBody(indent, use, {
797
805
  caller: 'start',
798
806
  type: type,
799
807
  srcVar: 'to_serialize',
@@ -900,8 +908,10 @@ function recursiveBuildDeserializeBody(indent, use, ctx) {
900
908
  }
901
909
  case 'offsetDateTime': {
902
910
  // terminal case (NEVER the start case)
903
- const dateParse = helpers.getDateTimeEncodingMethod(ctx.type.encoding, 'parse', use);
904
- content = `${dateParse}(${ctx.type.encoding !== 'unix_time' ? '&' : ''}${ctx.srcVar}).map_err(serde::de::Error::custom)?`;
911
+ // for rfc3339-fixed-width we use the same deserializer as rfc3339
912
+ const encoding = ctx.type.encoding === 'rfc3339-fixed-width' ? 'rfc3339' : ctx.type.encoding;
913
+ const dateParse = helpers.getDateTimeEncodingMethod(encoding, 'parse', use);
914
+ content = `${dateParse}(${encoding !== 'unix_time' ? '&' : ''}${ctx.srcVar}).map_err(serde::de::Error::custom)?`;
905
915
  if (ctx.caller === 'option') {
906
916
  content = `${indent.get()}let ${ctx.destVar.get()} = ${content};\n`;
907
917
  }
@@ -1000,18 +1010,19 @@ function recursiveBuildSerializeBody(indent, use, ctx) {
1000
1010
  }
1001
1011
  case 'offsetDateTime': {
1002
1012
  // terminal case (NEVER the start case)
1003
- const dateTo = helpers.getDateTimeEncodingMethod(ctx.type.encoding, 'to', use);
1004
- content = ctx.type.encoding === 'unix_time' ? `${ctx.srcVar}.${dateTo}` : dateTo;
1013
+ const dateTo = ctx.type.encoding === 'rfc3339-fixed-width' ? 'format(&format).map_err(serde::ser::Error::custom)?' : helpers.getDateTimeEncodingMethod(ctx.type.encoding, 'to', use);
1014
+ const asMethodCall = ctx.type.encoding === 'rfc3339-fixed-width' || ctx.type.encoding === 'unix_time';
1015
+ content = asMethodCall ? `${ctx.srcVar}.${dateTo}` : dateTo;
1005
1016
  switch (ctx.caller) {
1006
1017
  case 'hashmap':
1007
- content = `${hashMapInsert(`${content}${ctx.type.encoding !== 'unix_time' ? `(${ctx.srcVar})` : ''}`)}`;
1018
+ content = `${hashMapInsert(`${content}${!asMethodCall ? `(${ctx.srcVar})` : ''}`)}`;
1008
1019
  break;
1009
1020
  case 'option':
1010
- content = ctx.type.encoding === 'unix_time' ? content : `${content}(${ctx.srcVar})`;
1021
+ content = asMethodCall ? content : `${content}(${ctx.srcVar})`;
1011
1022
  content = `${indent.get()}let ${ctx.destVar.get()} = ${content};\n`;
1012
1023
  break;
1013
1024
  case 'vec':
1014
- if (ctx.type.encoding === 'unix_time') {
1025
+ if (asMethodCall) {
1015
1026
  content = `|v|${content}`;
1016
1027
  }
1017
1028
  break;