@azure-tools/typespec-java 0.16.0 → 0.16.1

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.
@@ -98,6 +98,7 @@ export declare class CodeModelBuilder {
98
98
  private getSerializedName;
99
99
  private isReadOnly;
100
100
  private isSecret;
101
+ private getMutability;
101
102
  private getConvenienceApiName;
102
103
  private logWarning;
103
104
  private trace;
@@ -1 +1 @@
1
- {"version":3,"file":"code-model-builder.d.ts","sourceRoot":"","sources":["../../src/code-model-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"code-model-builder.d.ts","sourceRoot":"","sources":["../../src/code-model-builder.ts"],"names":[],"mappings":"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"}
@@ -1401,46 +1401,54 @@ export class CodeModelBuilder {
1401
1401
  return this.anySchema;
1402
1402
  }
1403
1403
  processStringSchemaFromSdkType(type, name) {
1404
- return this.codeModel.schemas.add(new StringSchema(name, this.getDoc(type.__raw), {
1405
- summary: this.getSummary(type.__raw),
1404
+ var _a;
1405
+ return this.codeModel.schemas.add(new StringSchema(name, (_a = type.details) !== null && _a !== void 0 ? _a : "", {
1406
+ summary: type.description,
1406
1407
  }));
1407
1408
  }
1408
1409
  processByteArraySchemaFromSdkType(type, name) {
1410
+ var _a;
1409
1411
  const base64Encoded = type.encode === "base64url";
1410
- return this.codeModel.schemas.add(new ByteArraySchema(name, this.getDoc(type.__raw), {
1411
- summary: this.getSummary(type.__raw),
1412
+ return this.codeModel.schemas.add(new ByteArraySchema(name, (_a = type.details) !== null && _a !== void 0 ? _a : "", {
1413
+ summary: type.description,
1412
1414
  format: base64Encoded ? "base64url" : "byte",
1413
1415
  }));
1414
1416
  }
1415
1417
  processIntegerSchemaFromSdkType(type, name, precision) {
1416
- return this.codeModel.schemas.add(new NumberSchema(name, this.getDoc(type.__raw), SchemaType.Integer, precision, {
1417
- summary: this.getSummary(type.__raw),
1418
+ var _a;
1419
+ return this.codeModel.schemas.add(new NumberSchema(name, (_a = type.details) !== null && _a !== void 0 ? _a : "", SchemaType.Integer, precision, {
1420
+ summary: type.description,
1418
1421
  }));
1419
1422
  }
1420
1423
  processNumberSchemaFromSdkType(type, name) {
1421
- return this.codeModel.schemas.add(new NumberSchema(name, this.getDoc(type.__raw), SchemaType.Number, 64, {
1422
- summary: this.getSummary(type.__raw),
1424
+ var _a;
1425
+ return this.codeModel.schemas.add(new NumberSchema(name, (_a = type.details) !== null && _a !== void 0 ? _a : "", SchemaType.Number, 64, {
1426
+ summary: type.description,
1423
1427
  }));
1424
1428
  }
1425
1429
  processDecimalSchemaFromSdkType(type, name) {
1430
+ var _a;
1426
1431
  // "Infinity" maps to "BigDecimal" in Java
1427
- return this.codeModel.schemas.add(new NumberSchema(name, this.getDoc(type.__raw), SchemaType.Number, Infinity, {
1428
- summary: this.getSummary(type.__raw),
1432
+ return this.codeModel.schemas.add(new NumberSchema(name, (_a = type.details) !== null && _a !== void 0 ? _a : "", SchemaType.Number, Infinity, {
1433
+ summary: type.description,
1429
1434
  }));
1430
1435
  }
1431
1436
  processBooleanSchemaFromSdkType(type, name) {
1432
- return this.codeModel.schemas.add(new BooleanSchema(name, this.getDoc(type.__raw), {
1433
- summary: this.getSummary(type.__raw),
1437
+ var _a;
1438
+ return this.codeModel.schemas.add(new BooleanSchema(name, (_a = type.details) !== null && _a !== void 0 ? _a : "", {
1439
+ summary: type.description,
1434
1440
  }));
1435
1441
  }
1436
1442
  processArraySchemaFromSdkType(type, name) {
1443
+ var _a;
1437
1444
  const elementSchema = this.processSchemaFromSdkType(type.valueType, name);
1438
- return this.codeModel.schemas.add(new ArraySchema(name, this.getDoc(type.__raw), elementSchema, {
1439
- summary: this.getSummary(type.__raw),
1445
+ return this.codeModel.schemas.add(new ArraySchema(name, (_a = type.details) !== null && _a !== void 0 ? _a : "", elementSchema, {
1446
+ summary: type.description,
1440
1447
  }));
1441
1448
  }
1442
1449
  processDictionarySchemaFromSdkType(type, name) {
1443
- const dictSchema = new DictionarySchema(name, type.details ? type.details : "", null, {
1450
+ var _a;
1451
+ const dictSchema = new DictionarySchema(name, (_a = type.details) !== null && _a !== void 0 ? _a : "", null, {
1444
1452
  summary: type.description,
1445
1453
  });
1446
1454
  // cache this now before we accidentally recurse on this type.
@@ -1460,8 +1468,8 @@ export class CodeModelBuilder {
1460
1468
  const choices = [];
1461
1469
  type.values.forEach((it) => { var _a, _b; return choices.push(new ChoiceValue(it.name, (_a = it.description) !== null && _a !== void 0 ? _a : "", (_b = it.value) !== null && _b !== void 0 ? _b : it.name)); });
1462
1470
  const schemaType = type.isFixed ? SealedChoiceSchema : ChoiceSchema;
1463
- const schema = new schemaType(type.name ? type.name : name, (_a = type.description) !== null && _a !== void 0 ? _a : "", {
1464
- summary: this.getSummary(rawEnumType),
1471
+ const schema = new schemaType(type.name ? type.name : name, (_a = type.details) !== null && _a !== void 0 ? _a : "", {
1472
+ summary: type.description,
1465
1473
  choiceType: valueType,
1466
1474
  choices: choices,
1467
1475
  language: {
@@ -1477,60 +1485,67 @@ export class CodeModelBuilder {
1477
1485
  return this.codeModel.schemas.add(schema);
1478
1486
  }
1479
1487
  processConstantSchemaFromSdkType(type, name) {
1488
+ var _a;
1480
1489
  const valueType = this.processSchemaFromSdkType(type.valueType, type.valueType.kind);
1481
- return this.codeModel.schemas.add(new ConstantSchema(name, this.getDoc(type.__raw), {
1482
- summary: this.getSummary(type.__raw),
1490
+ return this.codeModel.schemas.add(new ConstantSchema(name, (_a = type.details) !== null && _a !== void 0 ? _a : "", {
1491
+ summary: type.description,
1483
1492
  valueType: valueType,
1484
1493
  value: new ConstantValue(type.value),
1485
1494
  }));
1486
1495
  }
1487
1496
  processConstantSchemaFromEnumValueFromSdkType(type, name) {
1488
- var _a;
1497
+ var _a, _b;
1489
1498
  const valueType = this.processSchemaFromSdkType(type.enumType, type.enumType.name);
1490
- return this.codeModel.schemas.add(new ConstantSchema(name, this.getDoc(type.__raw), {
1491
- summary: this.getSummary(type.__raw),
1499
+ return this.codeModel.schemas.add(new ConstantSchema(name, (_a = type.details) !== null && _a !== void 0 ? _a : "", {
1500
+ summary: type.description,
1492
1501
  valueType: valueType,
1493
- value: new ConstantValue((_a = type.value) !== null && _a !== void 0 ? _a : type.name),
1502
+ value: new ConstantValue((_b = type.value) !== null && _b !== void 0 ? _b : type.name),
1494
1503
  }));
1495
1504
  }
1496
1505
  processUnixTimeSchemaFromSdkType(type, name) {
1497
- return this.codeModel.schemas.add(new UnixTimeSchema(name, this.getDoc(type.__raw), {
1498
- summary: this.getSummary(type.__raw),
1506
+ var _a;
1507
+ return this.codeModel.schemas.add(new UnixTimeSchema(name, (_a = type.details) !== null && _a !== void 0 ? _a : "", {
1508
+ summary: type.description,
1499
1509
  }));
1500
1510
  }
1501
1511
  processDateTimeSchemaFromSdkType(type, name, rfc1123) {
1502
- return this.codeModel.schemas.add(new DateTimeSchema(name, this.getDoc(type.__raw), {
1503
- summary: this.getSummary(type.__raw),
1512
+ var _a;
1513
+ return this.codeModel.schemas.add(new DateTimeSchema(name, (_a = type.details) !== null && _a !== void 0 ? _a : "", {
1514
+ summary: type.description,
1504
1515
  format: rfc1123 ? "date-time-rfc1123" : "date-time",
1505
1516
  }));
1506
1517
  }
1507
1518
  processDateSchemaFromSdkType(type, name) {
1508
- return this.codeModel.schemas.add(new DateSchema(name, this.getDoc(type.__raw), {
1509
- summary: this.getSummary(type.__raw),
1519
+ var _a;
1520
+ return this.codeModel.schemas.add(new DateSchema(name, (_a = type.details) !== null && _a !== void 0 ? _a : "", {
1521
+ summary: type.description,
1510
1522
  }));
1511
1523
  }
1512
1524
  processTimeSchemaFromSdkType(type, name) {
1513
- return this.codeModel.schemas.add(new TimeSchema(name, this.getDoc(type.__raw), {
1514
- summary: this.getSummary(type.__raw),
1525
+ var _a;
1526
+ return this.codeModel.schemas.add(new TimeSchema(name, (_a = type.details) !== null && _a !== void 0 ? _a : "", {
1527
+ summary: type.description,
1515
1528
  }));
1516
1529
  }
1517
1530
  processDurationSchemaFromSdkType(type, name, format = "duration-rfc3339") {
1518
- return this.codeModel.schemas.add(new DurationSchema(name, this.getDoc(type.__raw), {
1519
- summary: this.getSummary(type.__raw),
1531
+ var _a;
1532
+ return this.codeModel.schemas.add(new DurationSchema(name, (_a = type.details) !== null && _a !== void 0 ? _a : "", {
1533
+ summary: type.description,
1520
1534
  format: format,
1521
1535
  }));
1522
1536
  }
1523
1537
  processUrlSchemaFromSdkType(type, name) {
1524
- return this.codeModel.schemas.add(new UriSchema(name, this.getDoc(type.__raw), {
1525
- summary: this.getSummary(type.__raw),
1538
+ var _a;
1539
+ return this.codeModel.schemas.add(new UriSchema(name, (_a = type.details) !== null && _a !== void 0 ? _a : "", {
1540
+ summary: type.description,
1526
1541
  }));
1527
1542
  }
1528
1543
  processObjectSchemaFromSdkType(type, name) {
1529
- var _a;
1544
+ var _a, _b;
1530
1545
  const rawModelType = type.__raw;
1531
1546
  const namespace = getNamespace(rawModelType);
1532
- const objectSchema = new ObjectScheme(name, this.getDoc(rawModelType), {
1533
- summary: this.getSummary(rawModelType),
1547
+ const objectSchema = new ObjectScheme(name, (_a = type.details) !== null && _a !== void 0 ? _a : "", {
1548
+ summary: type.description,
1534
1549
  language: {
1535
1550
  default: {
1536
1551
  namespace: namespace,
@@ -1590,7 +1605,7 @@ export class CodeModelBuilder {
1590
1605
  valueType: type.additionalProperties,
1591
1606
  };
1592
1607
  const parentSchema = this.processSchemaFromSdkType(sdkDictType, "Record");
1593
- objectSchema.parents = (_a = objectSchema.parents) !== null && _a !== void 0 ? _a : new Relations();
1608
+ objectSchema.parents = (_b = objectSchema.parents) !== null && _b !== void 0 ? _b : new Relations();
1594
1609
  objectSchema.parents.immediate.push(parentSchema);
1595
1610
  pushDistinct(objectSchema.parents.all, parentSchema);
1596
1611
  objectSchema.discriminatorValue = type.discriminatorValue;
@@ -1622,6 +1637,7 @@ export class CodeModelBuilder {
1622
1637
  return type;
1623
1638
  }
1624
1639
  processModelPropertyFromSdkType(prop) {
1640
+ var _a;
1625
1641
  const rawModelPropertyType = prop.__raw;
1626
1642
  // TODO: This case is related with literal.tsp, once TCGC supports giving a name, we can use TCGC generatedName
1627
1643
  const schemaNameHint = pascalCase(getNamePrefixForProperty(rawModelPropertyType)) + pascalCase(prop.name);
@@ -1638,11 +1654,16 @@ export class CodeModelBuilder {
1638
1654
  extensions = extensions !== null && extensions !== void 0 ? extensions : {};
1639
1655
  extensions["x-ms-client-flatten"] = true;
1640
1656
  }
1657
+ const mutability = this.getMutability(prop);
1658
+ if (mutability) {
1659
+ extensions = extensions !== null && extensions !== void 0 ? extensions : {};
1660
+ extensions["x-ms-mutability"] = mutability;
1661
+ }
1641
1662
  if (prop.kind === "property" && prop.isMultipartFileInput) {
1642
1663
  schema = this.processMultipartFormDataFilePropertySchemaFromSdkType(prop, this.namespace);
1643
1664
  }
1644
- return new Property(prop.name, this.getDoc(rawModelPropertyType), schema, {
1645
- summary: this.getSummary(rawModelPropertyType),
1665
+ return new Property(prop.name, (_a = prop.details) !== null && _a !== void 0 ? _a : "", schema, {
1666
+ summary: prop.description,
1646
1667
  required: !prop.optional,
1647
1668
  nullable: nullable,
1648
1669
  readOnly: this.isReadOnly(prop),
@@ -1651,7 +1672,7 @@ export class CodeModelBuilder {
1651
1672
  });
1652
1673
  }
1653
1674
  processUnionSchemaFromSdkType(type, name) {
1654
- var _a;
1675
+ var _a, _b;
1655
1676
  if (!(type.__raw && type.__raw.kind === "Union")) {
1656
1677
  throw new Error(`Invalid type for union: '${type.kind}'.`);
1657
1678
  }
@@ -1660,17 +1681,18 @@ export class CodeModelBuilder {
1660
1681
  const namespace = getNamespace(rawUnionType);
1661
1682
  const baseName = (_a = type.name) !== null && _a !== void 0 ? _a : pascalCase(name) + "Model";
1662
1683
  this.logWarning(`Convert TypeSpec Union '${getUnionDescription(rawUnionType, this.typeNameOptions)}' to Class '${baseName}'`);
1663
- const unionSchema = new OrSchema(baseName + "Base", this.getDoc(rawUnionType), {
1664
- summary: this.getSummary(rawUnionType),
1684
+ const unionSchema = new OrSchema(baseName + "Base", (_b = type.details) !== null && _b !== void 0 ? _b : "", {
1685
+ summary: type.description,
1665
1686
  });
1666
1687
  unionSchema.anyOf = [];
1667
1688
  type.values.forEach((it) => {
1689
+ var _a, _b;
1668
1690
  const variantName = this.getUnionVariantName(it.__raw, { depth: 0 });
1669
1691
  const modelName = variantName + baseName;
1670
1692
  const propertyName = "value";
1671
1693
  // these ObjectSchema is not added to codeModel.schemas
1672
- const objectSchema = new ObjectSchema(modelName, this.getDoc(rawUnionType), {
1673
- summary: this.getSummary(rawUnionType),
1694
+ const objectSchema = new ObjectSchema(modelName, (_a = it.details) !== null && _a !== void 0 ? _a : "", {
1695
+ summary: it.description,
1674
1696
  language: {
1675
1697
  default: {
1676
1698
  namespace: namespace,
@@ -1681,8 +1703,8 @@ export class CodeModelBuilder {
1681
1703
  },
1682
1704
  });
1683
1705
  const variantSchema = this.processSchemaFromSdkType(it, variantName);
1684
- objectSchema.addProperty(new Property(propertyName, this.getDoc(rawUnionType), variantSchema, {
1685
- summary: this.getSummary(rawUnionType),
1706
+ objectSchema.addProperty(new Property(propertyName, (_b = type.details) !== null && _b !== void 0 ? _b : "", variantSchema, {
1707
+ summary: type.description,
1686
1708
  required: true,
1687
1709
  readOnly: false,
1688
1710
  }));
@@ -1843,6 +1865,30 @@ export class CodeModelBuilder {
1843
1865
  return false;
1844
1866
  }
1845
1867
  }
1868
+ getMutability(target) {
1869
+ if (target.kind === "property" && target.visibility) {
1870
+ const mutability = [];
1871
+ if (target.visibility.includes(Visibility.Create)) {
1872
+ mutability.push("create");
1873
+ }
1874
+ if (target.visibility.includes(Visibility.Update)) {
1875
+ mutability.push("update");
1876
+ }
1877
+ if (target.visibility.includes(Visibility.Read)) {
1878
+ mutability.push("read");
1879
+ }
1880
+ if (mutability.length === 3) {
1881
+ // if all 3 (supported) mutability values are present, there is no need to set the x-ms-mutability
1882
+ return undefined;
1883
+ }
1884
+ else {
1885
+ return mutability;
1886
+ }
1887
+ }
1888
+ else {
1889
+ return undefined;
1890
+ }
1891
+ }
1846
1892
  getConvenienceApiName(op) {
1847
1893
  // check @convenienceMethod
1848
1894
  if (shouldGenerateConvenient(this.sdkContext, op)) {