@azure-tools/typespec-rust 0.14.0 → 0.14.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.
@@ -107,8 +107,10 @@ export class Adapter {
107
107
  this.crate.enums.push(rustEnum);
108
108
  }
109
109
  for (const model of this.ctx.sdkPackage.models) {
110
- if (((model.usage & tcgc.UsageFlags.Exception) === tcgc.UsageFlags.Exception && (model.usage & tcgc.UsageFlags.Input) === 0 && (model.usage & tcgc.UsageFlags.Output) === 0) || tcgc.isAzureCoreModel(model)) {
111
- // skip error and core types as we use their azure_core equivalents
110
+ if ((model.usage & tcgc.UsageFlags.Input) === 0 && (model.usage & tcgc.UsageFlags.Output) === 0 && (model.usage & tcgc.UsageFlags.Spread) === 0) {
111
+ // skip types without input and output usage. this will include core
112
+ // types unless they're explicitly referenced (e.g. a model property).
113
+ // we keep the models for spread params as we internally use them.
112
114
  continue;
113
115
  }
114
116
  const rustModel = this.getModel(model);
@@ -133,7 +135,7 @@ export class Adapter {
133
135
  rustEnum.docs = this.adaptDocs(sdkEnum.summary, sdkEnum.doc);
134
136
  this.types.set(enumName, rustEnum);
135
137
  for (const value of sdkEnum.values) {
136
- const rustEnumValue = new rust.EnumValue(helpers.fixUpEnumValueName(value.name), rustEnum, value.value);
138
+ const rustEnumValue = new rust.EnumValue(helpers.fixUpEnumValueName(value), rustEnum, value.value);
137
139
  rustEnumValue.docs = this.adaptDocs(value.summary, value.doc);
138
140
  rustEnum.values.push(rustEnumValue);
139
141
  }
@@ -151,7 +153,7 @@ export class Adapter {
151
153
  const enumType = this.getEnum(sdkEnumValue.enumType);
152
154
  // find the specified enum value
153
155
  for (const value of enumType.values) {
154
- if (value.name === helpers.fixUpEnumValueName(sdkEnumValue.name)) {
156
+ if (value.name === helpers.fixUpEnumValueName(sdkEnumValue)) {
155
157
  return value;
156
158
  }
157
159
  }
@@ -251,8 +253,20 @@ export class Adapter {
251
253
  if (modelVisibility === 'pub' || property.optional) {
252
254
  fieldType = new rust.Option(fieldType.kind === 'box' ? fieldType : this.typeToWireType(fieldType));
253
255
  }
254
- const modelField = new rust.ModelField(naming.getEscapedReservedName(snakeCaseName(property.name), 'prop'), property.serializedName, modelVisibility, fieldType);
256
+ const modelField = new rust.ModelField(naming.getEscapedReservedName(snakeCaseName(property.name), 'prop'), property.serializedName, modelVisibility, fieldType, property.optional);
255
257
  modelField.docs = this.adaptDocs(property.summary, property.doc);
258
+ // if this is a literal, add a doc comment explaining its behavior
259
+ const unwrappedType = helpers.unwrapOption(fieldType);
260
+ if (unwrappedType.kind === 'literal') {
261
+ const literalDoc = `${modelField.optional ? 'When Some, field' : 'Field'} has constant value ${unwrappedType.value}. Any specified value will be ignored.`;
262
+ if (!modelField.docs.description) {
263
+ modelField.docs.description = '';
264
+ }
265
+ else {
266
+ modelField.docs.description += '\n\n';
267
+ }
268
+ modelField.docs.description += literalDoc;
269
+ }
256
270
  const xmlName = getXMLName(property.decorators);
257
271
  if (xmlName) {
258
272
  // use the XML name when specified
@@ -283,46 +297,6 @@ export class Adapter {
283
297
  return 'unix_time';
284
298
  }
285
299
  };
286
- const getScalar = (kind) => {
287
- let scalarType;
288
- switch (kind) {
289
- case 'boolean':
290
- scalarType = 'bool';
291
- break;
292
- case 'float':
293
- case 'float32':
294
- scalarType = 'f32';
295
- break;
296
- case 'float64':
297
- scalarType = 'f64';
298
- break;
299
- case 'int16':
300
- scalarType = 'i16';
301
- break;
302
- case 'int32':
303
- scalarType = 'i32';
304
- break;
305
- case 'int64':
306
- scalarType = 'i64';
307
- break;
308
- case 'int8':
309
- scalarType = 'i8';
310
- break;
311
- case 'uint16':
312
- scalarType = 'u16';
313
- break;
314
- case 'uint32':
315
- scalarType = 'u32';
316
- break;
317
- case 'uint64':
318
- scalarType = 'u64';
319
- break;
320
- case 'uint8':
321
- scalarType = 'u8';
322
- break;
323
- }
324
- return this.getScalar(scalarType);
325
- };
326
300
  switch (type.kind) {
327
301
  case 'array':
328
302
  return this.getVec(this.typeToWireType(this.getType(type.valueType, stack)));
@@ -337,10 +311,10 @@ export class Adapter {
337
311
  return this.getLiteral(type);
338
312
  case 'decimal':
339
313
  case 'decimal128': {
340
- const keyName = 'decimal';
314
+ const keyName = 'decimal' + (type.encode ? `-${type.encode}` : '');
341
315
  let decimalType = this.types.get(keyName);
342
316
  if (!decimalType) {
343
- decimalType = new rust.Decimal(this.crate);
317
+ decimalType = new rust.Decimal(this.crate, type.encode === 'string');
344
318
  this.types.set(keyName, decimalType);
345
319
  }
346
320
  return decimalType;
@@ -354,7 +328,7 @@ export class Adapter {
354
328
  case 'float64':
355
329
  case 'int32':
356
330
  case 'int64':
357
- return getScalar(type.wireType.kind);
331
+ return this.getScalar(type.wireType.kind, type.wireType.encode);
358
332
  case 'string':
359
333
  return this.getStringType();
360
334
  default:
@@ -371,7 +345,7 @@ export class Adapter {
371
345
  case 'uint32':
372
346
  case 'uint64':
373
347
  case 'uint8':
374
- return getScalar(type.kind);
348
+ return this.getScalar(type.kind, type.encode);
375
349
  case 'enum':
376
350
  return this.getEnum(type);
377
351
  case 'enumvalue':
@@ -379,6 +353,8 @@ export class Adapter {
379
353
  case 'model':
380
354
  return this.getModel(type, stack);
381
355
  case 'endpoint':
356
+ case 'plainDate':
357
+ case 'plainTime':
382
358
  case 'string':
383
359
  case 'url': {
384
360
  if (type.kind === 'string' && type.crossLanguageDefinitionId === 'Azure.Core.eTag') {
@@ -407,6 +383,15 @@ export class Adapter {
407
383
  this.types.set(keyName, timeType);
408
384
  return timeType;
409
385
  }
386
+ case 'safeint': {
387
+ const keyName = type.kind + (type.encode ? `-${type.encode}` : '');
388
+ let safeint = this.types.get(keyName);
389
+ if (!safeint) {
390
+ safeint = new rust.SafeInt(this.crate, type.encode === 'string');
391
+ this.types.set(keyName, safeint);
392
+ }
393
+ return safeint;
394
+ }
410
395
  case 'unknown': {
411
396
  const keyName = 'jsonValue';
412
397
  let anyType = this.types.get(keyName);
@@ -465,11 +450,49 @@ export class Adapter {
465
450
  return refType;
466
451
  }
467
452
  /** returns a scalar for the specified scalar type */
468
- getScalar(type) {
469
- let scalar = this.types.get(type);
453
+ getScalar(type, encode) {
454
+ let scalarType;
455
+ switch (type) {
456
+ case 'boolean':
457
+ scalarType = 'bool';
458
+ break;
459
+ case 'float':
460
+ case 'float32':
461
+ scalarType = 'f32';
462
+ break;
463
+ case 'float64':
464
+ scalarType = 'f64';
465
+ break;
466
+ case 'int16':
467
+ scalarType = 'i16';
468
+ break;
469
+ case 'int32':
470
+ scalarType = 'i32';
471
+ break;
472
+ case 'int64':
473
+ scalarType = 'i64';
474
+ break;
475
+ case 'int8':
476
+ scalarType = 'i8';
477
+ break;
478
+ case 'uint16':
479
+ scalarType = 'u16';
480
+ break;
481
+ case 'uint32':
482
+ scalarType = 'u32';
483
+ break;
484
+ case 'uint64':
485
+ scalarType = 'u64';
486
+ break;
487
+ case 'uint8':
488
+ scalarType = 'u8';
489
+ break;
490
+ }
491
+ const keyName = scalarType + (encode ? `-${encode}` : '');
492
+ let scalar = this.types.get(keyName);
470
493
  if (!scalar) {
471
- scalar = new rust.Scalar(type);
472
- this.types.set(type, scalar);
494
+ scalar = new rust.Scalar(scalarType, encode === 'string');
495
+ this.types.set(keyName, scalar);
473
496
  }
474
497
  return scalar;
475
498
  }
@@ -534,12 +557,37 @@ export class Adapter {
534
557
  * @returns a Rust literal
535
558
  */
536
559
  getLiteral(constType) {
537
- const literalKey = `literal-${constType.value}`;
560
+ var _a;
561
+ let valueKind;
562
+ let keyKind;
563
+ switch (constType.valueType.kind) {
564
+ case 'boolean':
565
+ case 'float32':
566
+ case 'float64':
567
+ case 'int16':
568
+ case 'int32':
569
+ case 'int64':
570
+ case 'int8':
571
+ case 'uint16':
572
+ case 'uint32':
573
+ case 'uint64':
574
+ case 'uint8':
575
+ valueKind = this.getScalar(constType.valueType.kind, constType.valueType.encode);
576
+ keyKind = valueKind.type;
577
+ break;
578
+ case 'string':
579
+ valueKind = this.getStringType();
580
+ keyKind = valueKind.kind;
581
+ break;
582
+ default:
583
+ throw new AdapterError('UnsupportedTsp', `unhandled constant value kind ${constType.valueType.kind}`, (_a = constType.__raw) === null || _a === void 0 ? void 0 : _a.node);
584
+ }
585
+ const literalKey = `literal-${keyKind}-${constType.value}`;
538
586
  let literalType = this.types.get(literalKey);
539
587
  if (literalType) {
540
588
  return literalType;
541
589
  }
542
- literalType = new rust.Literal(constType.value);
590
+ literalType = new rust.Literal(valueKind, constType.value);
543
591
  this.types.set(literalKey, literalType);
544
592
  return literalType;
545
593
  }
@@ -1024,13 +1072,19 @@ export class Adapter {
1024
1072
  rustMethod.params.push(adaptedParam);
1025
1073
  }
1026
1074
  }
1075
+ /** called IFF the operation returns a modeled response */
1027
1076
  const getBodyFormat = () => {
1028
1077
  var _a, _b;
1029
1078
  // fetch the body format from the HTTP responses.
1030
1079
  // they should all have the same type so no need to match responses to type.
1031
1080
  let defaultContentType;
1032
1081
  for (const httpResp of method.operation.responses) {
1033
- if (defaultContentType && httpResp.defaultContentType && defaultContentType !== httpResp.defaultContentType) {
1082
+ if (!httpResp.defaultContentType) {
1083
+ // we can get here if the operation returns multiple status codes
1084
+ // and one of them doesn't return a body (e.g. a 200 and a 204)
1085
+ continue;
1086
+ }
1087
+ else if (defaultContentType && defaultContentType !== httpResp.defaultContentType) {
1034
1088
  throw new AdapterError('InternalError', `method ${method.name} has conflicting content types`, (_a = method.__raw) === null || _a === void 0 ? void 0 : _a.node);
1035
1089
  }
1036
1090
  defaultContentType = httpResp.defaultContentType;
@@ -1332,7 +1386,6 @@ export class Adapter {
1332
1386
  */
1333
1387
  adaptMethodParameter(param) {
1334
1388
  var _a, _b, _c, _d, _e;
1335
- const paramLoc = param.onClient ? 'client' : 'method';
1336
1389
  /**
1337
1390
  * used to create keys for this.clientMethodParams
1338
1391
  * @param param the param for which to create a key
@@ -1343,6 +1396,7 @@ export class Adapter {
1343
1396
  // in different places across methods (path/query)
1344
1397
  return `${param.name}-${param.kind}`;
1345
1398
  };
1399
+ const paramLoc = param.onClient ? 'client' : 'method';
1346
1400
  // if this is a client method param, check if we've already adapted it
1347
1401
  if (paramLoc === 'client') {
1348
1402
  const clientMethodParam = this.clientMethodParams.get(getClientParamsKey(param));
@@ -1350,7 +1404,17 @@ export class Adapter {
1350
1404
  return clientMethodParam;
1351
1405
  }
1352
1406
  }
1353
- const paramName = naming.getEscapedReservedName(snakeCaseName(param.name), 'param');
1407
+ /** returns the corresponding client param field name for a client parameter */
1408
+ const getCorrespondingClientParamName = function (param) {
1409
+ if (param.onClient && param.correspondingMethodParams.length === 1) {
1410
+ // we get here if the param was aliased via the @paramAlias decorator.
1411
+ // this gives us the name of the client param's backing field which has
1412
+ // the aliased name.
1413
+ return param.correspondingMethodParams[0].name;
1414
+ }
1415
+ return param.name;
1416
+ };
1417
+ const paramName = naming.getEscapedReservedName(snakeCaseName(getCorrespondingClientParamName(param)), 'param');
1354
1418
  let paramType = this.getType(param.type);
1355
1419
  // for required header/path/query method string params, we might emit them as borrowed types
1356
1420
  if (!param.optional && !param.onClient && (param.kind === 'header' || param.kind === 'path' || param.kind === 'query')) {
@@ -1499,6 +1563,7 @@ export class Adapter {
1499
1563
  case 'model':
1500
1564
  case 'offsetDateTime':
1501
1565
  case 'ref':
1566
+ case 'safeint':
1502
1567
  case 'scalar':
1503
1568
  case 'slice':
1504
1569
  case 'str':
@@ -1626,8 +1691,11 @@ function recursiveKeyName(root, type) {
1626
1691
  return `${root}-${type.kind}-${type.name}`;
1627
1692
  case 'ref':
1628
1693
  return recursiveKeyName(`${root}-${type.kind}`, type.type);
1694
+ case 'safeint':
1695
+ case 'decimal':
1696
+ return `${root}-${type.kind}${type.stringEncoding ? '-string' : ''}`;
1629
1697
  case 'scalar':
1630
- return `${root}-${type.kind}-${type.type}`;
1698
+ return `${root}-${type.kind}-${type.type}${type.stringEncoding ? '-string' : ''}`;
1631
1699
  case 'slice':
1632
1700
  return recursiveKeyName(`${root}-${type.kind}`, type.type);
1633
1701
  default:
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/tcgcadapter/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/tcgcadapter/adapter.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,21 @@
1
+ import * as tcgc from '@azure-tools/typespec-client-generator-core';
1
2
  import * as rust from '../codemodel/index.js';
2
3
  /**
3
4
  * fixes up enum names to follow Rust conventions
4
5
  *
5
- * @param name the name to fix up
6
+ * @param enumValue the enum value type to fix up
6
7
  * @returns the fixed up name. can be the original value if no fix-up was required
7
8
  */
8
- export declare function fixUpEnumValueName(name: string): string;
9
+ export declare function fixUpEnumValueName(enumValue: tcgc.SdkEnumValueType): string;
10
+ /**
11
+ * split out from fixUpEnumValueName for testing purposes.
12
+ * don't call this directly, call fixUpEnumValueName instead.
13
+ *
14
+ * @param name the enum value name
15
+ * @param kind the enum value's underlying kind
16
+ * @returns the fixed up name. can be the original value if no fix-up was required
17
+ */
18
+ export declare function fixUpEnumValueNameWorker(name: string, kind: tcgc.SdkBuiltInKinds): string;
9
19
  /**
10
20
  * sorts client params in place so they're in the order, endpoint, [credential], other
11
21
  *
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/tcgcadapter/helpers.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,IAAI,MAAM,uBAAuB,CAAC;AAE9C;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAsCvD;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAQ9E;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAKvD;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAKpD;AAKD;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAkB/C"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/tcgcadapter/helpers.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,IAAI,MAAM,6CAA6C,CAAC;AAGpE,OAAO,KAAK,IAAI,MAAM,uBAAuB,CAAC;AAE9C;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAE3E;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,eAAe,GAAG,MAAM,CA0DzF;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAQ9E;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAKvD;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAKpD;AAKD;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAkB/C"}