@azure-tools/typespec-rust 0.23.0 → 0.23.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 (39) hide show
  1. package/dist/src/codegen/codeGenerator.d.ts.map +1 -1
  2. package/dist/src/codegen/codeGenerator.js +8 -3
  3. package/dist/src/codegen/codeGenerator.js.map +1 -1
  4. package/dist/src/codegen/context.d.ts +1 -1
  5. package/dist/src/codegen/context.d.ts.map +1 -1
  6. package/dist/src/codegen/context.js +1 -1
  7. package/dist/src/codegen/context.js.map +1 -1
  8. package/dist/src/codegen/docTests.d.ts.map +1 -1
  9. package/dist/src/codegen/docTests.js +8 -3
  10. package/dist/src/codegen/docTests.js.map +1 -1
  11. package/dist/src/codegen/enums.d.ts +11 -2
  12. package/dist/src/codegen/enums.d.ts.map +1 -1
  13. package/dist/src/codegen/enums.js +197 -32
  14. package/dist/src/codegen/enums.js.map +1 -1
  15. package/dist/src/codegen/helpers.d.ts.map +1 -1
  16. package/dist/src/codegen/helpers.js +2 -0
  17. package/dist/src/codegen/helpers.js.map +1 -1
  18. package/dist/src/codegen/mod.js +1 -1
  19. package/dist/src/codegen/mod.js.map +1 -1
  20. package/dist/src/codegen/unions.d.ts +13 -0
  21. package/dist/src/codegen/unions.d.ts.map +1 -0
  22. package/dist/src/codegen/unions.js +63 -0
  23. package/dist/src/codegen/unions.js.map +1 -0
  24. package/dist/src/codegen/use.d.ts.map +1 -1
  25. package/dist/src/codegen/use.js +1 -0
  26. package/dist/src/codegen/use.js.map +1 -1
  27. package/dist/src/codemodel/crate.d.ts +2 -0
  28. package/dist/src/codemodel/crate.d.ts.map +1 -1
  29. package/dist/src/codemodel/crate.js +5 -0
  30. package/dist/src/codemodel/crate.js.map +1 -1
  31. package/dist/src/codemodel/types.d.ts +37 -1
  32. package/dist/src/codemodel/types.d.ts.map +1 -1
  33. package/dist/src/codemodel/types.js +18 -0
  34. package/dist/src/codemodel/types.js.map +1 -1
  35. package/dist/src/tcgcadapter/adapter.d.ts +15 -0
  36. package/dist/src/tcgcadapter/adapter.d.ts.map +1 -1
  37. package/dist/src/tcgcadapter/adapter.js +109 -1
  38. package/dist/src/tcgcadapter/adapter.js.map +1 -1
  39. package/package.json +5 -5
@@ -0,0 +1,63 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License. See License.txt in the project root for license information.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ import { Use } from './use.js';
6
+ import * as helpers from './helpers.js';
7
+ /**
8
+ * returns the union enum types, or undefined if the
9
+ * crate contains no union types.
10
+ *
11
+ * @param crate the crate for which to emit unions
12
+ * @param context the context for the provided crate
13
+ * @returns the union content or undefined
14
+ */
15
+ export function emitUnions(crate, context) {
16
+ if (crate.unions.length === 0) {
17
+ return undefined;
18
+ }
19
+ const use = new Use('clients');
20
+ const indent = new helpers.indentation();
21
+ let body = '';
22
+ for (const rustUnion of crate.unions) {
23
+ const docs = helpers.formatDocComment(rustUnion.docs, true);
24
+ if (docs.length > 0) {
25
+ body += `${indent.get()}#[doc = r#"${docs.substring(0, docs.length - 1)}"#]\n`;
26
+ }
27
+ use.add('serde', 'Deserialize', 'Serialize');
28
+ use.add('azure_core::fmt', 'SafeDebug');
29
+ body += `#[derive(Deserialize, Serialize, SafeDebug, Clone)]\n`;
30
+ const tag = (rustUnion.discriminatorName !== '') ? `tag = "${rustUnion.discriminatorName}"` : '';
31
+ const content = (rustUnion.envelopeName !== '') ? `content = "${rustUnion.envelopeName}"` : '';
32
+ if (tag !== '' || content !== '') {
33
+ body += `#[serde(${[tag, content].filter(x => x !== '').join(', ')})]\n`;
34
+ }
35
+ body += `pub enum ${rustUnion.name} {\n`;
36
+ for (let i = 0; i < rustUnion.members.length; ++i) {
37
+ const member = rustUnion.members[i];
38
+ const memberType = member.type;
39
+ use.addForType(member.type);
40
+ const docs = helpers.formatDocComment(member.docs, true);
41
+ if (docs.length > 0) {
42
+ body += `${indent.get()}#[doc = r#"${docs.substring(0, docs.length - 1)}"#]\n`;
43
+ }
44
+ if (member.discriminatorValue !== member.name) {
45
+ body += `#[serde(rename = "${member.discriminatorValue}")]\n`;
46
+ }
47
+ body += `${indent.get()}${member.name}(${helpers.getTypeDeclaration(memberType)})`;
48
+ body += ',\n\n';
49
+ }
50
+ body += '}\n\n'; // end enum declaration
51
+ }
52
+ for (const rustUnion of crate.unions) {
53
+ body += context.getTryFromForRequestContent(rustUnion, use);
54
+ }
55
+ let content = helpers.contentPreamble();
56
+ content += use.text();
57
+ content += body;
58
+ return {
59
+ name: 'unions',
60
+ content: content,
61
+ };
62
+ }
63
+ //# sourceMappingURL=unions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unions.js","sourceRoot":"","sources":["../../../src/codegen/unions.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"use.d.ts","sourceRoot":"","sources":["../../../src/codegen/use.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AAExC,OAAO,KAAK,IAAI,MAAM,uBAAuB,CAAC;AAE9C,sCAAsC;AACtC,qBAAa,GAAG;IACd,OAAO,CAAC,KAAK,CAAiB;IAC9B,OAAO,CAAC,KAAK,CAAuC;IAEpD;;;;;;;;OAQG;gBACS,KAAK,EAAE,SAAS,GAAG,QAAQ,GAAG,aAAa;IAKvD;;;;;;;;OAQG;IACH,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI;IAuBlD;;;;OAIG;IACH,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI;IA8F1F;;;;;OAKG;IACH,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,GAAG,MAAM;CA0C3C"}
1
+ {"version":3,"file":"use.d.ts","sourceRoot":"","sources":["../../../src/codegen/use.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AAExC,OAAO,KAAK,IAAI,MAAM,uBAAuB,CAAC;AAE9C,sCAAsC;AACtC,qBAAa,GAAG;IACd,OAAO,CAAC,KAAK,CAAiB;IAC9B,OAAO,CAAC,KAAK,CAAuC;IAEpD;;;;;;;;OAQG;gBACS,KAAK,EAAE,SAAS,GAAG,QAAQ,GAAG,aAAa;IAKvD;;;;;;;;OAQG;IACH,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI;IAuBlD;;;;OAIG;IACH,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI;IA+F1F;;;;;OAKG;IACH,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,GAAG,MAAM;CA0C3C"}
@@ -62,6 +62,7 @@ export class Use {
62
62
  this.add('crate::generated::clients', type.name);
63
63
  break;
64
64
  }
65
+ case 'union':
65
66
  case 'enum':
66
67
  this.add(this.scope === 'clients' ? 'crate::generated::models' : 'super', type.name);
67
68
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"use.js","sourceRoot":"","sources":["../../../src/codegen/use.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use.js","sourceRoot":"","sources":["../../../src/codegen/use.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,8 @@ export interface Crate {
13
13
  type: ServiceType;
14
14
  /** the Crates on which this Crate depends */
15
15
  dependencies: Array<CrateDependency>;
16
+ /** unions contains all of the unions for this crate. can be empty */
17
+ unions: Array<types.Union>;
16
18
  /** enums contains all of the enums for this crate. can be empty */
17
19
  enums: Array<types.Enum>;
18
20
  /** models contains all of the models for this crate. can be empty */
@@ -1 +1 @@
1
- {"version":3,"file":"crate.d.ts","sourceRoot":"","sources":["../../../src/codemodel/crate.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AAEpC;;;GAGG;AACH,MAAM,WAAW,KAAK;IACpB,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAC;IAEb,+BAA+B;IAC/B,OAAO,EAAE,MAAM,CAAC;IAEhB,8BAA8B;IAC9B,IAAI,EAAE,WAAW,CAAC;IAElB,6CAA6C;IAC7C,YAAY,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;IAErC,mEAAmE;IACnE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAEzB,qEAAqE;IACrE,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IAE9C,oEAAoE;IACpE,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;CAC/B;AAED,qDAAqD;AACrD,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,YAAY,CAAC;AAErD;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAC;IAEb,2CAA2C;IAC3C,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;CACzB;AAKD,qBAAa,KAAM,YAAW,KAAK;gBACrB,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW;IAU5D;;;OAGG;IACH,aAAa,CAAC,UAAU,EAAE,eAAe,GAAG,IAAI;IAWhD,0CAA0C;IAC1C,WAAW,IAAI,IAAI;CAiCpB;AAED,qBAAa,eAAgB,YAAW,eAAe;gBACzC,IAAI,EAAE,MAAM,EAAE,QAAQ,WAAsB;CAIzD"}
1
+ {"version":3,"file":"crate.d.ts","sourceRoot":"","sources":["../../../src/codemodel/crate.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AAEpC;;;GAGG;AACH,MAAM,WAAW,KAAK;IACpB,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAC;IAEb,+BAA+B;IAC/B,OAAO,EAAE,MAAM,CAAC;IAEhB,8BAA8B;IAC9B,IAAI,EAAE,WAAW,CAAC;IAElB,6CAA6C;IAC7C,YAAY,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;IAErC,qEAAqE;IACrE,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAE3B,mEAAmE;IACnE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAEzB,qEAAqE;IACrE,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IAE9C,oEAAoE;IACpE,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;CAC/B;AAED,qDAAqD;AACrD,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,YAAY,CAAC;AAErD;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAC;IAEb,2CAA2C;IAC3C,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;CACzB;AAKD,qBAAa,KAAM,YAAW,KAAK;gBACrB,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW;IAW5D;;;OAGG;IACH,aAAa,CAAC,UAAU,EAAE,eAAe,GAAG,IAAI;IAWhD,0CAA0C;IAC1C,WAAW,IAAI,IAAI;CAqCpB;AAED,qBAAa,eAAgB,YAAW,eAAe;gBACzC,IAAI,EAAE,MAAM,EAAE,QAAQ,WAAsB;CAIzD"}
@@ -10,6 +10,7 @@ export class Crate {
10
10
  this.version = version;
11
11
  this.type = type;
12
12
  this.dependencies = new Array();
13
+ this.unions = new Array();
13
14
  this.enums = new Array();
14
15
  this.models = new Array();
15
16
  this.clients = new Array();
@@ -35,6 +36,10 @@ export class Crate {
35
36
  return a < b ? -1 : a > b ? 1 : 0;
36
37
  };
37
38
  this.dependencies.sort((a, b) => { return sortAscending(a.name, b.name); });
39
+ this.unions.sort((a, b) => { return sortAscending(a.name, b.name); });
40
+ for (const rustUnion of this.unions) {
41
+ rustUnion.members.sort((a, b) => { return sortAscending(a.name, b.name); });
42
+ }
38
43
  this.enums.sort((a, b) => { return sortAscending(a.name, b.name); });
39
44
  for (const rustEnum of this.enums) {
40
45
  rustEnum.values.sort((a, b) => { return sortAscending(a.name, b.name); });
@@ -1 +1 @@
1
- {"version":3,"file":"crate.js","sourceRoot":"","sources":["../../../src/codemodel/crate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"crate.js","sourceRoot":"","sources":["../../../src/codemodel/crate.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ export interface Docs {
9
9
  /** SdkType defines types used in generated code but do not directly participate in serde */
10
10
  export type SdkType = Arc | Box | ExternalType | ImplTrait | MarkerType | Option | PageIterator | Pager | Poller | BufResponse | RequestContent | Response | Result | Struct | TokenCredential | Unit;
11
11
  /** WireType defines types that go across the wire */
12
- export type WireType = Bytes | Decimal | EncodedBytes | Enum | EnumValue | Etag | HashMap | JsonValue | Literal | Model | OffsetDateTime | RefBase | SafeInt | Scalar | Slice | StringSlice | StringType | Url | Vector;
12
+ export type WireType = Bytes | Decimal | EncodedBytes | Enum | EnumValue | Union | UnionMember | Etag | HashMap | JsonValue | Literal | Model | OffsetDateTime | RefBase | SafeInt | Scalar | Slice | StringSlice | StringType | Url | Vector;
13
13
  /** Type defines a type within the Rust type system */
14
14
  export type Type = SdkType | WireType;
15
15
  /** Kind contains the set of discriminator values for all types */
@@ -75,6 +75,36 @@ export interface EnumValue {
75
75
  /** the value used in SerDe operations */
76
76
  value: number | string;
77
77
  }
78
+ /** Union is a Rust enum type with values of different types. */
79
+ export interface Union {
80
+ kind: 'union';
81
+ /** the name of the union type */
82
+ name: string;
83
+ /** any docs for the type */
84
+ docs: Docs;
85
+ /** indicates the visibility of the union */
86
+ visibility: Visibility;
87
+ /** indicates if the union and its values should be public */
88
+ pub: boolean;
89
+ /** one or more members of the union */
90
+ members: Array<UnionMember>;
91
+ /** discriminator property name */
92
+ discriminatorName: string;
93
+ /** data envelope property name */
94
+ envelopeName: string;
95
+ }
96
+ /** UnionMember is a union member for a specific Union */
97
+ export interface UnionMember {
98
+ kind: 'unionMember';
99
+ /** the name of the union member */
100
+ name: string;
101
+ /** any docs for the type */
102
+ docs: Docs;
103
+ /** the type of the union member */
104
+ type: Type;
105
+ /** discriminator property value */
106
+ discriminatorValue: string;
107
+ }
78
108
  /** Etag is an azure_core::Etag */
79
109
  export interface Etag extends External {
80
110
  kind: 'Etag';
@@ -451,6 +481,12 @@ export declare class Literal implements Literal {
451
481
  export declare class MarkerType implements MarkerType {
452
482
  constructor(name: string);
453
483
  }
484
+ export declare class Union implements Union {
485
+ constructor(name: string, pub: boolean, discriminatorName: string, envelopeName: string);
486
+ }
487
+ export declare class UnionMember implements UnionMember {
488
+ constructor(name: string, type: Type, discriminatorValue: string);
489
+ }
454
490
  export declare class Model extends StructBase implements Model {
455
491
  constructor(name: string, visibility: Visibility, flags: ModelFlags);
456
492
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/codemodel/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/codemodel/types.ts"],"names":[],"mappings":"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"}
@@ -157,6 +157,24 @@ export class MarkerType {
157
157
  this.docs = {};
158
158
  }
159
159
  }
160
+ export class Union {
161
+ constructor(name, pub, discriminatorName, envelopeName) {
162
+ this.kind = 'union';
163
+ this.name = name;
164
+ this.pub = pub;
165
+ this.members = new Array();
166
+ this.discriminatorName = discriminatorName;
167
+ this.envelopeName = envelopeName;
168
+ }
169
+ }
170
+ export class UnionMember {
171
+ constructor(name, type, discriminatorValue) {
172
+ this.kind = 'unionMember';
173
+ this.name = name;
174
+ this.type = type;
175
+ this.discriminatorValue = discriminatorValue;
176
+ }
177
+ }
160
178
  export class Model extends StructBase {
161
179
  constructor(name, visibility, flags) {
162
180
  super('model', name, visibility);
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/codemodel/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/codemodel/types.ts"],"names":[],"mappings":"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"}
@@ -76,6 +76,21 @@ export declare class Adapter {
76
76
  * @returns a Rust model
77
77
  */
78
78
  private getModel;
79
+ /**
80
+ * Gets properties of a TypeSpec union
81
+ *
82
+ * @param union tcgc union to convert
83
+ * @returns TypeSpec union properties
84
+ */
85
+ private getUnionProperties;
86
+ /**
87
+ * converts a tcgc union to a Rust union
88
+ *
89
+ * @param union the tcgc union to convert
90
+ * @param stack is a stack of model type names used to detect recursive type definitions
91
+ * @returns a Rust union
92
+ */
93
+ private getUnion;
79
94
  private getSerializedPropertyName;
80
95
  /**
81
96
  * converts a tcgc model property to a model field
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/tcgcadapter/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/tcgcadapter/adapter.ts"],"names":[],"mappings":"AASA,OAAO,EAAyB,gBAAgB,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAIpG,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAG/C,OAAO,KAAK,IAAI,MAAM,uBAAuB,CAAC;AAE9C,oDAAoD;AACpD,MAAM,MAAM,SAAS;AACnB,qFAAqF;AACrF,eAAe;AAEf,mDAAmD;AACnD,iBAAiB;AAEjB;;;GAGG;AACH,eAAe;AAEf,sEAAsE;AACtE,gBAAgB,CAAC;AAEnB;;;;GAIG;AACH,qBAAa,YAAa,SAAQ,KAAK;IACrC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,QAAQ,CAAC;gBAExC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,gBAAgB;CAKxE;AAED;;;GAGG;AACH,qBAAa,aAAc,SAAQ,KAAK;CAAI;AAE5C,2DAA2D;AAC3D,qBAAa,OAAO;IAClB;;;;;OAKG;WACU,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAuB/E,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAa;IACnC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAkB;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAG7C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAyB;IAG/C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAoC;IAGvE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAc;IAG7C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA0E;IAEpG,OAAO;IAgBP,wDAAwD;IACxD,WAAW,IAAI,IAAI,CAAC,KAAK;IAiBzB,gDAAgD;IAChD,OAAO,CAAC,SAAS;IAajB,4DAA4D;IAC5D,OAAO,CAAC,UAAU;IA8BlB;;;;;OAKG;IACH,OAAO,CAAC,OAAO;IA2Bf;;;;;;OAMG;IACH,OAAO,CAAC,YAAY;IAWpB;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ;IA+FhB;;;;;OAKG;IAEH,OAAO,CAAC,kBAAkB;IA0D1B;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ;IA6ChB,OAAO,CAAC,yBAAyB;IAIjC;;;;;;;OAOG;IACH,OAAO,CAAC,aAAa;IA8CrB;;;;;;OAMG;IACH,OAAO,CAAC,OAAO;IAuIf,yBAAyB;IACzB,OAAO,CAAC,UAAU;IAUlB,+DAA+D;IAC/D,OAAO,CAAC,eAAe;IAWvB,sCAAsC;IACtC,OAAO,CAAC,UAAU;IAWlB,wDAAwD;IACxD,OAAO,CAAC,aAAa;IAUrB,kDAAkD;IAClD,OAAO,CAAC,UAAU;IAUlB,qDAAqD;IACrD,OAAO,CAAC,SAAS;IAgDjB,4CAA4C;IAC5C,OAAO,CAAC,QAAQ;IAUhB,yCAAyC;IACzC,OAAO,CAAC,cAAc;IAUtB,mCAAmC;IACnC,OAAO,CAAC,aAAa;IAWrB,iCAAiC;IACjC,OAAO,CAAC,WAAW;IAWnB,0BAA0B;IAC1B,OAAO,CAAC,MAAM;IAWd;;;;;OAKG;IACH,OAAO,CAAC,UAAU;IAoClB,4EAA4E;IAC5E,OAAO,CAAC,YAAY;IASpB;;;;;;;;OAQG;IACH,OAAO,CAAC,SAAS;IAOjB;;;;;;;OAOG;IACH,OAAO,CAAC,oBAAoB;IAiP5B;;;;;;OAMG;IACH,OAAO,CAAC,yBAAyB;IAmBjC;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB;IA4C5B;;;;;;;OAOG;IACH,OAAO,CAAC,mBAAmB;IAwB3B;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IA2WnB;;;;;;;OAOG;IACH,OAAO,CAAC,oBAAoB;IAoB5B;;;;;;;;OAQG;IACH,OAAO,CAAC,yBAAyB;IAiEjC;;;;;;;OAOG;IACH,OAAO,CAAC,2BAA2B;IAuEnC;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;IAoK5B;;;;;;;;;OASG;IACH,OAAO,CAAC,oBAAoB;IA4C5B;;;;;;OAMG;IACH,OAAO,CAAC,cAAc;IA6BtB;;;;;;;OAOG;IACH,OAAO,CAAC,0BAA0B;IA2BlC;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IAa1B;;;;;OAKG;IACH,OAAO,CAAC,sBAAsB;CAa/B"}
@@ -78,7 +78,7 @@ export class Adapter {
78
78
  if (this.crate.enums.length > 0 || values(this.crate.models).where(e => e.kind === 'model').any()) {
79
79
  this.crate.addDependency(new rust.CrateDependency('serde'));
80
80
  }
81
- if (this.crate.clients.length > 0 || this.crate.enums.length > 0 || this.crate.models.length > 0) {
81
+ if (this.crate.clients.length > 0 || this.crate.enums.length > 0 || this.crate.models.length > 0 || this.crate.unions.length > 0) {
82
82
  this.crate.addDependency(new rust.CrateDependency('typespec_client_core', ['derive']));
83
83
  }
84
84
  this.crate.sortContent();
@@ -99,6 +99,10 @@ export class Adapter {
99
99
  }
100
100
  /** converts all tcgc types to their Rust type equivalent */
101
101
  adaptTypes() {
102
+ for (const sdkUnion of this.ctx.sdkPackage.unions.filter(u => u.kind === 'union')) {
103
+ const rustUnion = this.getUnion(sdkUnion);
104
+ this.crate.unions.push(rustUnion);
105
+ }
102
106
  for (const sdkEnum of this.ctx.sdkPackage.enums) {
103
107
  if ((sdkEnum.usage & tcgc.UsageFlags.ApiVersionEnum) === tcgc.UsageFlags.ApiVersionEnum) {
104
108
  // we skip generating the enums for API
@@ -258,6 +262,105 @@ export class Adapter {
258
262
  stack.pop();
259
263
  return rustModel;
260
264
  }
265
+ /**
266
+ * Gets properties of a TypeSpec union
267
+ *
268
+ * @param union tcgc union to convert
269
+ * @returns TypeSpec union properties
270
+ */
271
+ // TODO: Rewrite getting information from __raw?.node after https://github.com/microsoft/typespec/issues/8455 is implemented
272
+ getUnionProperties(union) {
273
+ var _a;
274
+ const result = {
275
+ discriminatorValues: new Map(),
276
+ discriminatorPropertyName: 'kind',
277
+ envelopePropertyName: 'value'
278
+ };
279
+ /*
280
+ eslint-disable
281
+ @typescript-eslint/no-explicit-any,
282
+ @typescript-eslint/no-unnecessary-type-assertion,
283
+ @typescript-eslint/no-unsafe-argument,
284
+ @typescript-eslint/no-unsafe-assignment,
285
+ @typescript-eslint/no-unsafe-member-access
286
+ */
287
+ const tspRawNode = (_a = union.__raw) === null || _a === void 0 ? void 0 : _a.node;
288
+ if (tspRawNode) {
289
+ for (const unionMember of Array.from(tspRawNode.symbol.members)) {
290
+ const discriminatorValue = unionMember[0];
291
+ const discriminatorTypeName = unionMember[1].node.value.target.sv;
292
+ result.discriminatorValues.set(discriminatorTypeName, discriminatorValue);
293
+ }
294
+ for (const decorator of tspRawNode.decorators) {
295
+ if (decorator.target.sv === 'discriminated') {
296
+ const argument = decorator.arguments[0];
297
+ if (argument) {
298
+ for (const property of argument.properties) {
299
+ const propertyName = property.id.sv;
300
+ const propertyValue = property.value.value;
301
+ if (propertyName === 'envelope') {
302
+ if (propertyValue === 'none') {
303
+ result.envelopePropertyName = '';
304
+ }
305
+ }
306
+ else if (propertyName === 'discriminatorPropertyName') {
307
+ result.discriminatorPropertyName = propertyValue;
308
+ }
309
+ else if (propertyName === 'envelopePropertyName') {
310
+ result.envelopePropertyName = propertyValue;
311
+ }
312
+ }
313
+ }
314
+ }
315
+ }
316
+ }
317
+ /* eslint-enable */
318
+ return result;
319
+ }
320
+ /**
321
+ * converts a tcgc union to a Rust union
322
+ *
323
+ * @param union the tcgc union to convert
324
+ * @param stack is a stack of model type names used to detect recursive type definitions
325
+ * @returns a Rust union
326
+ */
327
+ getUnion(union, stack) {
328
+ var _a, _b, _c;
329
+ if (union.name.length === 0) {
330
+ throw new AdapterError('InternalError', 'unnamed union', (_a = union.__raw) === null || _a === void 0 ? void 0 : _a.node);
331
+ }
332
+ const unionName = codegen.capitalize(union.name);
333
+ let rustUnion = this.types.get(unionName);
334
+ if (rustUnion) {
335
+ return rustUnion;
336
+ }
337
+ // no stack means this is the first model in
338
+ // the chain of potentially recursive calls
339
+ if (!stack) {
340
+ stack = new Array();
341
+ }
342
+ stack.push(unionName);
343
+ const tspUnionProperties = this.getUnionProperties(union);
344
+ rustUnion = new rust.Union(unionName, union.access === 'public', tspUnionProperties.discriminatorPropertyName, tspUnionProperties.envelopePropertyName);
345
+ rustUnion.docs = this.adaptDocs(union.summary, union.doc);
346
+ this.types.set(unionName, rustUnion);
347
+ for (const unionMember of union.variantTypes) {
348
+ const unionMemberType = this.getType(unionMember, stack);
349
+ if (unionMemberType.kind !== 'model' || unionMember.kind !== 'model') {
350
+ throw new AdapterError('UnsupportedTsp', `non-model union member`, (_b = unionMember.__raw) === null || _b === void 0 ? void 0 : _b.node);
351
+ }
352
+ const discriminatorValue = tspUnionProperties.discriminatorValues.get(unionMember.name);
353
+ if (!discriminatorValue) {
354
+ throw new AdapterError('InternalError', `unmatched discriminator`, (_c = union.__raw) === null || _c === void 0 ? void 0 : _c.node);
355
+ }
356
+ const unionMemberName = unionMemberType.name;
357
+ const rustUnionMember = new rust.UnionMember(unionMemberName, unionMemberType, discriminatorValue);
358
+ rustUnionMember.docs = this.adaptDocs(unionMember.summary, unionMember.doc);
359
+ rustUnion.members.push(rustUnionMember);
360
+ }
361
+ stack.pop();
362
+ return rustUnion;
363
+ }
261
364
  getSerializedPropertyName(property) {
262
365
  var _a, _b, _c, _d, _e;
263
366
  return property.kind === 'property' ? (_d = (_b = (_a = property.serializationOptions.json) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : (_c = property.serializationOptions.xml) === null || _c === void 0 ? void 0 : _c.name) !== null && _d !== void 0 ? _d : (_e = property.serializationOptions.multipart) === null || _e === void 0 ? void 0 : _e.name : undefined;
@@ -443,6 +546,9 @@ export class Adapter {
443
546
  this.types.set(keyName, timeType);
444
547
  return timeType;
445
548
  }
549
+ case 'union': {
550
+ return this.getUnion(type);
551
+ }
446
552
  default:
447
553
  throw new AdapterError('UnsupportedTsp', `unhandled tcgc type ${type.kind}`, (_b = type.__raw) === null || _b === void 0 ? void 0 : _b.node);
448
554
  }
@@ -1762,6 +1868,8 @@ export class Adapter {
1762
1868
  case 'slice':
1763
1869
  case 'str':
1764
1870
  case 'String':
1871
+ case 'union':
1872
+ case 'unionMember':
1765
1873
  case 'Url':
1766
1874
  case 'Vec':
1767
1875
  return type;