@azure-tools/typespec-rust 0.22.0 → 0.23.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.
- package/dist/src/codegen/clients.js +180 -140
- package/dist/src/codegen/clients.js.map +1 -1
- package/dist/src/codegen/codeGenerator.d.ts.map +1 -1
- package/dist/src/codegen/codeGenerator.js +2 -0
- package/dist/src/codegen/codeGenerator.js.map +1 -1
- package/dist/src/codegen/context.d.ts +1 -1
- package/dist/src/codegen/context.d.ts.map +1 -1
- package/dist/src/codegen/context.js +28 -12
- package/dist/src/codegen/context.js.map +1 -1
- package/dist/src/codegen/docTests.d.ts.map +1 -1
- package/dist/src/codegen/docTests.js +8 -3
- package/dist/src/codegen/docTests.js.map +1 -1
- package/dist/src/codegen/helpers.d.ts +5 -2
- package/dist/src/codegen/helpers.d.ts.map +1 -1
- package/dist/src/codegen/helpers.js +23 -15
- package/dist/src/codegen/helpers.js.map +1 -1
- package/dist/src/codegen/mod.d.ts.map +1 -1
- package/dist/src/codegen/mod.js +5 -3
- package/dist/src/codegen/mod.js.map +1 -1
- package/dist/src/codegen/unions.d.ts +13 -0
- package/dist/src/codegen/unions.d.ts.map +1 -0
- package/dist/src/codegen/unions.js +63 -0
- package/dist/src/codegen/unions.js.map +1 -0
- package/dist/src/codegen/use.d.ts.map +1 -1
- package/dist/src/codegen/use.js +1 -0
- package/dist/src/codegen/use.js.map +1 -1
- package/dist/src/codemodel/client.d.ts +14 -5
- package/dist/src/codemodel/client.d.ts.map +1 -1
- package/dist/src/codemodel/client.js +2 -2
- package/dist/src/codemodel/client.js.map +1 -1
- package/dist/src/codemodel/crate.d.ts +2 -0
- package/dist/src/codemodel/crate.d.ts.map +1 -1
- package/dist/src/codemodel/crate.js +5 -0
- package/dist/src/codemodel/crate.js.map +1 -1
- package/dist/src/codemodel/types.d.ts +37 -1
- package/dist/src/codemodel/types.d.ts.map +1 -1
- package/dist/src/codemodel/types.js +18 -0
- package/dist/src/codemodel/types.js.map +1 -1
- package/dist/src/emitter.d.ts.map +1 -1
- package/dist/src/emitter.js +2 -0
- package/dist/src/emitter.js.map +1 -1
- package/dist/src/lib.d.ts +9 -9
- package/dist/src/lib.js +3 -3
- package/dist/src/lib.js.map +1 -1
- package/dist/src/tcgcadapter/adapter.d.ts +15 -0
- package/dist/src/tcgcadapter/adapter.d.ts.map +1 -1
- package/dist/src/tcgcadapter/adapter.js +173 -54
- package/dist/src/tcgcadapter/adapter.js.map +1 -1
- package/dist/src/tcgcadapter/helpers.d.ts +0 -17
- package/dist/src/tcgcadapter/helpers.d.ts.map +1 -1
- package/dist/src/tcgcadapter/helpers.js +0 -70
- package/dist/src/tcgcadapter/helpers.js.map +1 -1
- package/dist/src/tcgcadapter/naming.d.ts +16 -0
- package/dist/src/tcgcadapter/naming.d.ts.map +1 -1
- package/dist/src/tcgcadapter/naming.js +36 -0
- package/dist/src/tcgcadapter/naming.js.map +1 -1
- package/package.json +7 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/codemodel/types.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAE/F,OAAO,EAAS,eAAe,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/codemodel/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emitter.d.ts","sourceRoot":"","sources":["../../src/emitter.ts"],"names":[],"mappings":"AAUA,OAAO,EAAoB,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAKhE,OAAO,EAAE,WAAW,EAAY,MAAM,oBAAoB,CAAC;AAC3D,OAAO,gCAAgC,CAAC;AAExC;;;;GAIG;AACH,wBAAsB,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,kBAAkB,CAAC,
|
|
1
|
+
{"version":3,"file":"emitter.d.ts","sourceRoot":"","sources":["../../src/emitter.ts"],"names":[],"mappings":"AAUA,OAAO,EAAoB,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAKhE,OAAO,EAAE,WAAW,EAAY,MAAM,oBAAoB,CAAC;AAC3D,OAAO,gCAAgC,CAAC;AAExC;;;;GAIG;AACH,wBAAsB,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,kBAAkB,CAAC,iBAyGrE"}
|
package/dist/src/emitter.js
CHANGED
|
@@ -65,6 +65,7 @@ export async function $onEmit(context) {
|
|
|
65
65
|
code: error.code,
|
|
66
66
|
target: error.target,
|
|
67
67
|
format: {
|
|
68
|
+
message: error.message,
|
|
68
69
|
stack: error.stack ? truncateStack(error.stack, 'tcgcToCrate') : 'Stack trace unavailable\n',
|
|
69
70
|
}
|
|
70
71
|
});
|
|
@@ -74,6 +75,7 @@ export async function $onEmit(context) {
|
|
|
74
75
|
code: error.code,
|
|
75
76
|
target: NoTarget,
|
|
76
77
|
format: {
|
|
78
|
+
message: error.message,
|
|
77
79
|
stack: error.stack ? truncateStack(error.stack, 'tcgcToCrate') : 'Stack trace unavailable\n',
|
|
78
80
|
}
|
|
79
81
|
});
|
package/dist/src/emitter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emitter.js","sourceRoot":"","sources":["../../src/emitter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"emitter.js","sourceRoot":"","sources":["../../src/emitter.ts"],"names":[],"mappings":"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"}
|
package/dist/src/lib.d.ts
CHANGED
|
@@ -13,13 +13,13 @@ export interface RustEmitterOptions {
|
|
|
13
13
|
}
|
|
14
14
|
export declare const $lib: import("@typespec/compiler").TypeSpecLibrary<{
|
|
15
15
|
InternalError: {
|
|
16
|
-
readonly default: import("@typespec/compiler").CallableMessage<["stack"]>;
|
|
16
|
+
readonly default: import("@typespec/compiler").CallableMessage<["message", "stack"]>;
|
|
17
17
|
};
|
|
18
18
|
InvalidArgument: {
|
|
19
|
-
readonly default: "
|
|
19
|
+
readonly default: import("@typespec/compiler").CallableMessage<["message"]>;
|
|
20
20
|
};
|
|
21
21
|
NameCollision: {
|
|
22
|
-
readonly default: "
|
|
22
|
+
readonly default: import("@typespec/compiler").CallableMessage<["message"]>;
|
|
23
23
|
};
|
|
24
24
|
UnsupportedTsp: {
|
|
25
25
|
readonly default: import("@typespec/compiler").CallableMessage<["stack"]>;
|
|
@@ -27,26 +27,26 @@ export declare const $lib: import("@typespec/compiler").TypeSpecLibrary<{
|
|
|
27
27
|
}, RustEmitterOptions, never>;
|
|
28
28
|
export declare const reportDiagnostic: <C extends "InternalError" | "InvalidArgument" | "NameCollision" | "UnsupportedTsp", M extends keyof {
|
|
29
29
|
InternalError: {
|
|
30
|
-
readonly default: import("@typespec/compiler").CallableMessage<["stack"]>;
|
|
30
|
+
readonly default: import("@typespec/compiler").CallableMessage<["message", "stack"]>;
|
|
31
31
|
};
|
|
32
32
|
InvalidArgument: {
|
|
33
|
-
readonly default: "
|
|
33
|
+
readonly default: import("@typespec/compiler").CallableMessage<["message"]>;
|
|
34
34
|
};
|
|
35
35
|
NameCollision: {
|
|
36
|
-
readonly default: "
|
|
36
|
+
readonly default: import("@typespec/compiler").CallableMessage<["message"]>;
|
|
37
37
|
};
|
|
38
38
|
UnsupportedTsp: {
|
|
39
39
|
readonly default: import("@typespec/compiler").CallableMessage<["stack"]>;
|
|
40
40
|
};
|
|
41
41
|
}[C]>(program: import("@typespec/compiler").Program, diag: import("@typespec/compiler").DiagnosticReport<{
|
|
42
42
|
InternalError: {
|
|
43
|
-
readonly default: import("@typespec/compiler").CallableMessage<["stack"]>;
|
|
43
|
+
readonly default: import("@typespec/compiler").CallableMessage<["message", "stack"]>;
|
|
44
44
|
};
|
|
45
45
|
InvalidArgument: {
|
|
46
|
-
readonly default: "
|
|
46
|
+
readonly default: import("@typespec/compiler").CallableMessage<["message"]>;
|
|
47
47
|
};
|
|
48
48
|
NameCollision: {
|
|
49
|
-
readonly default: "
|
|
49
|
+
readonly default: import("@typespec/compiler").CallableMessage<["message"]>;
|
|
50
50
|
};
|
|
51
51
|
UnsupportedTsp: {
|
|
52
52
|
readonly default: import("@typespec/compiler").CallableMessage<["stack"]>;
|
package/dist/src/lib.js
CHANGED
|
@@ -47,19 +47,19 @@ const libDef = {
|
|
|
47
47
|
'InternalError': {
|
|
48
48
|
severity: 'error',
|
|
49
49
|
messages: {
|
|
50
|
-
default: paramMessage `The emitter encountered an internal error during preprocessing. Please open an issue at https://github.com/Azure/typespec-rust/issues and include the complete error message.\n${'stack'}`
|
|
50
|
+
default: paramMessage `The emitter encountered an internal error during preprocessing. Please open an issue at https://github.com/Azure/typespec-rust/issues and include the complete error message.\n${'message'}\n${'stack'}`
|
|
51
51
|
}
|
|
52
52
|
},
|
|
53
53
|
'InvalidArgument': {
|
|
54
54
|
severity: 'error',
|
|
55
55
|
messages: {
|
|
56
|
-
default:
|
|
56
|
+
default: paramMessage `Invalid arguments were passed to the emitter.\n${'message'}`
|
|
57
57
|
}
|
|
58
58
|
},
|
|
59
59
|
'NameCollision': {
|
|
60
60
|
severity: 'error',
|
|
61
61
|
messages: {
|
|
62
|
-
default:
|
|
62
|
+
default: paramMessage `The emitter automatically renamed one or more items which resulted in a name collision. Please update the client.tsp to rename the type(s) to avoid the collision.\n${'message'}`
|
|
63
63
|
}
|
|
64
64
|
},
|
|
65
65
|
'UnsupportedTsp': {
|
package/dist/src/lib.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,qBAAqB,EAAkB,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAgBzF,MAAM,oBAAoB,GAAuC;IAC/D,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE,IAAI;IAC1B,UAAU,EAAE;QACV,YAAY,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,KAAK;YACf,WAAW,EAAE,sCAAsC;SACpD;QACD,eAAe,EAAE;YACf,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,KAAK;YACf,WAAW,EAAE,yCAAyC;SACvD;QACD,sBAAsB,EAAE;YACtB,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,qEAAqE;SACnF;QACD,kBAAkB,EAAE;YAClB,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,iEAAiE;SAC/E;QACD,qBAAqB,EAAE;YACrB,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,0EAA0E;SACxF;KACF;IACD,QAAQ,EAAE;QACR,YAAY;QACZ,eAAe;KAChB;CACF,CAAC;AAEF,MAAM,MAAM,GAAG;IACb,IAAI,EAAE,4BAA4B;IAClC,WAAW,EAAE;QACX,eAAe,EAAE;YACf,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,kLAAkL,OAAO,EAAE;
|
|
1
|
+
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,qBAAqB,EAAkB,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAgBzF,MAAM,oBAAoB,GAAuC;IAC/D,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE,IAAI;IAC1B,UAAU,EAAE;QACV,YAAY,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,KAAK;YACf,WAAW,EAAE,sCAAsC;SACpD;QACD,eAAe,EAAE;YACf,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,KAAK;YACf,WAAW,EAAE,yCAAyC;SACvD;QACD,sBAAsB,EAAE;YACtB,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,qEAAqE;SACnF;QACD,kBAAkB,EAAE;YAClB,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,iEAAiE;SAC/E;QACD,qBAAqB,EAAE;YACrB,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,0EAA0E;SACxF;KACF;IACD,QAAQ,EAAE;QACR,YAAY;QACZ,eAAe;KAChB;CACF,CAAC;AAEF,MAAM,MAAM,GAAG;IACb,IAAI,EAAE,4BAA4B;IAClC,WAAW,EAAE;QACX,eAAe,EAAE;YACf,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,kLAAkL,SAAS,KAAK,OAAO,EAAE;aAC/N;SACF;QACD,iBAAiB,EAAE;YACjB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,kDAAkD,SAAS,EAAE;aACnF;SACF;QACD,eAAe,EAAE;YACf,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,uKAAuK,SAAS,EAAE;aACxM;SACF;QACD,gBAAgB,EAAE;YAChB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,mFAAmF,OAAO,EAAE;aAClH;SACF;KACF;IACD,OAAO,EAAE;QACP,OAAO,EAAsC,oBAAoB;KAClE;CACO,CAAC;AAEX,MAAM,CAAC,MAAM,IAAI,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;AAClD,gEAAgE;AAChE,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC"}
|
|
@@ -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":"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;
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/tcgcadapter/adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -78,28 +78,9 @@ 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
|
-
// TODO: remove once https://github.com/Azure/typespec-rust/issues/22 is fixed
|
|
85
|
-
for (const client of this.crate.clients) {
|
|
86
|
-
let done = false;
|
|
87
|
-
for (const method of client.methods) {
|
|
88
|
-
if (method.kind === 'pageable') {
|
|
89
|
-
if (method.returns.type.kind === 'pager') {
|
|
90
|
-
this.crate.addDependency(new rust.CrateDependency('async-trait')); // required for azure_core::http::Page trait
|
|
91
|
-
}
|
|
92
|
-
// TODO: why is this here?
|
|
93
|
-
this.crate.addDependency(new rust.CrateDependency('futures'));
|
|
94
|
-
done = true;
|
|
95
|
-
break;
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
if (done) {
|
|
99
|
-
break;
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
// end TODO
|
|
103
84
|
this.crate.sortContent();
|
|
104
85
|
return this.crate;
|
|
105
86
|
}
|
|
@@ -118,6 +99,10 @@ export class Adapter {
|
|
|
118
99
|
}
|
|
119
100
|
/** converts all tcgc types to their Rust type equivalent */
|
|
120
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
|
+
}
|
|
121
106
|
for (const sdkEnum of this.ctx.sdkPackage.enums) {
|
|
122
107
|
if ((sdkEnum.usage & tcgc.UsageFlags.ApiVersionEnum) === tcgc.UsageFlags.ApiVersionEnum) {
|
|
123
108
|
// we skip generating the enums for API
|
|
@@ -147,6 +132,7 @@ export class Adapter {
|
|
|
147
132
|
* @returns a Rust enum
|
|
148
133
|
*/
|
|
149
134
|
getEnum(sdkEnum) {
|
|
135
|
+
var _a;
|
|
150
136
|
const enumName = codegen.capitalize(sdkEnum.name);
|
|
151
137
|
let rustEnum = this.types.get(enumName);
|
|
152
138
|
if (rustEnum) {
|
|
@@ -155,8 +141,15 @@ export class Adapter {
|
|
|
155
141
|
rustEnum = new rust.Enum(enumName, sdkEnum.access === 'public', !sdkEnum.isFixed);
|
|
156
142
|
rustEnum.docs = this.adaptDocs(sdkEnum.summary, sdkEnum.doc);
|
|
157
143
|
this.types.set(enumName, rustEnum);
|
|
144
|
+
const rustEnumNameToSdkEnumName = new Map();
|
|
158
145
|
for (const value of sdkEnum.values) {
|
|
159
|
-
const
|
|
146
|
+
const enumValueName = naming.fixUpEnumValueName(value);
|
|
147
|
+
const existingMapping = rustEnumNameToSdkEnumName.get(enumValueName);
|
|
148
|
+
if (existingMapping) {
|
|
149
|
+
throw new AdapterError('NameCollision', `enum values ${value.name} and ${existingMapping} coalesce into the same name ${enumValueName}`, (_a = sdkEnum.__raw) === null || _a === void 0 ? void 0 : _a.node);
|
|
150
|
+
}
|
|
151
|
+
rustEnumNameToSdkEnumName.set(enumValueName, value.name);
|
|
152
|
+
const rustEnumValue = new rust.EnumValue(enumValueName, rustEnum, value.value);
|
|
160
153
|
rustEnumValue.docs = this.adaptDocs(value.summary, value.doc);
|
|
161
154
|
rustEnum.values.push(rustEnumValue);
|
|
162
155
|
}
|
|
@@ -174,7 +167,7 @@ export class Adapter {
|
|
|
174
167
|
const enumType = this.getEnum(sdkEnumValue.enumType);
|
|
175
168
|
// find the specified enum value
|
|
176
169
|
for (const value of enumType.values) {
|
|
177
|
-
if (value.name ===
|
|
170
|
+
if (value.name === naming.fixUpEnumValueName(sdkEnumValue)) {
|
|
178
171
|
return value;
|
|
179
172
|
}
|
|
180
173
|
}
|
|
@@ -269,6 +262,105 @@ export class Adapter {
|
|
|
269
262
|
stack.pop();
|
|
270
263
|
return rustModel;
|
|
271
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
|
+
}
|
|
272
364
|
getSerializedPropertyName(property) {
|
|
273
365
|
var _a, _b, _c, _d, _e;
|
|
274
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;
|
|
@@ -454,6 +546,9 @@ export class Adapter {
|
|
|
454
546
|
this.types.set(keyName, timeType);
|
|
455
547
|
return timeType;
|
|
456
548
|
}
|
|
549
|
+
case 'union': {
|
|
550
|
+
return this.getUnion(type);
|
|
551
|
+
}
|
|
457
552
|
default:
|
|
458
553
|
throw new AdapterError('UnsupportedTsp', `unhandled tcgc type ${type.kind}`, (_b = type.__raw) === null || _b === void 0 ? void 0 : _b.node);
|
|
459
554
|
}
|
|
@@ -1176,6 +1271,21 @@ export class Adapter {
|
|
|
1176
1271
|
}
|
|
1177
1272
|
return this.adaptPayloadFormatType(defaultContentType);
|
|
1178
1273
|
};
|
|
1274
|
+
const getStatusCodes = function (httpOp) {
|
|
1275
|
+
const statusCodes = new Array();
|
|
1276
|
+
for (const response of httpOp.responses) {
|
|
1277
|
+
const statusCode = response.statusCodes;
|
|
1278
|
+
if (isHttpStatusCodeRange(statusCode)) {
|
|
1279
|
+
for (let code = statusCode.start; code <= statusCode.end; ++code) {
|
|
1280
|
+
statusCodes.push(code);
|
|
1281
|
+
}
|
|
1282
|
+
}
|
|
1283
|
+
else {
|
|
1284
|
+
statusCodes.push(statusCode);
|
|
1285
|
+
}
|
|
1286
|
+
}
|
|
1287
|
+
return statusCodes;
|
|
1288
|
+
};
|
|
1179
1289
|
// add any response headers
|
|
1180
1290
|
const responseHeaders = new Array();
|
|
1181
1291
|
for (const httpResp of method.operation.responses) {
|
|
@@ -1276,6 +1386,7 @@ export class Adapter {
|
|
|
1276
1386
|
rustMethod.returns = new rust.Result(this.crate, new rust.PageIterator(this.crate, new rust.Response(this.crate, synthesizedModel, responseFormat)));
|
|
1277
1387
|
}
|
|
1278
1388
|
else {
|
|
1389
|
+
this.crate.addDependency(new rust.CrateDependency('async-trait'));
|
|
1279
1390
|
rustMethod.returns = new rust.Result(this.crate, new rust.Pager(this.crate, new rust.Response(this.crate, synthesizedModel, responseFormat)));
|
|
1280
1391
|
}
|
|
1281
1392
|
}
|
|
@@ -1321,6 +1432,15 @@ export class Adapter {
|
|
|
1321
1432
|
else {
|
|
1322
1433
|
rustMethod.returns = new rust.Result(this.crate, new rust.Response(this.crate, this.getUnitType(), responseFormat));
|
|
1323
1434
|
}
|
|
1435
|
+
// Mark the set of success status codes expected from this method.
|
|
1436
|
+
rustMethod.statusCodes = getStatusCodes(method.operation);
|
|
1437
|
+
// For long running operations, we add 200 OK if not already present for the LRO polling and terminal states.
|
|
1438
|
+
if (method.kind === 'lro') {
|
|
1439
|
+
if (!rustMethod.statusCodes.includes(200)) {
|
|
1440
|
+
rustMethod.statusCodes.push(200);
|
|
1441
|
+
}
|
|
1442
|
+
}
|
|
1443
|
+
rustMethod.statusCodes.sort((a, b) => a - b);
|
|
1324
1444
|
const responseHeadersMap = this.adaptResponseHeaders(responseHeaders);
|
|
1325
1445
|
rustMethod.responseHeaders = this.adaptResponseHeadersTrait(rustClient, rustMethod, Array.from(responseHeadersMap.values()));
|
|
1326
1446
|
if (method.kind === 'paging') {
|
|
@@ -1432,35 +1552,32 @@ export class Adapter {
|
|
|
1432
1552
|
* @returns the pageable strategy
|
|
1433
1553
|
*/
|
|
1434
1554
|
adaptPageableMethodStrategy(method, paramsMap, respHeadersMap) {
|
|
1435
|
-
var _a, _b, _c, _d, _e
|
|
1555
|
+
var _a, _b, _c, _d, _e;
|
|
1556
|
+
const buildNextLinkPath = (segments) => {
|
|
1557
|
+
var _a, _b;
|
|
1558
|
+
// build the field path for the next link segments
|
|
1559
|
+
const nextLinkPath = new Array();
|
|
1560
|
+
for (const segment of segments) {
|
|
1561
|
+
if (segment.kind !== 'property') {
|
|
1562
|
+
throw new AdapterError('InternalError', `unexpected kind ${segment.kind} for next link segment in operation ${method.name}`, (_a = method.__raw) === null || _a === void 0 ? void 0 : _a.node);
|
|
1563
|
+
}
|
|
1564
|
+
const nextLinkField = this.fieldsMap.get(segment);
|
|
1565
|
+
if (!nextLinkField) {
|
|
1566
|
+
// the most likely explanation for this is lack of reference equality
|
|
1567
|
+
throw new AdapterError('InternalError', `missing next link field name ${segment.name} for operation ${method.name}`, (_b = method.__raw) === null || _b === void 0 ? void 0 : _b.node);
|
|
1568
|
+
}
|
|
1569
|
+
nextLinkPath.push(nextLinkField);
|
|
1570
|
+
}
|
|
1571
|
+
return nextLinkPath;
|
|
1572
|
+
};
|
|
1436
1573
|
if (method.pagingMetadata.nextLinkOperation) {
|
|
1437
1574
|
// TODO: https://github.com/Azure/autorest.rust/issues/103
|
|
1438
1575
|
throw new AdapterError('UnsupportedTsp', 'next page operation NYI', (_a = method.__raw) === null || _a === void 0 ? void 0 : _a.node);
|
|
1439
1576
|
}
|
|
1440
1577
|
else if (method.pagingMetadata.nextLinkSegments) {
|
|
1441
|
-
|
|
1442
|
-
// TODO: https://github.com/Azure/autorest.rust/issues/102
|
|
1443
|
-
throw new AdapterError('UnsupportedTsp', 'nested next link path NYI', (_b = method.__raw) === null || _b === void 0 ? void 0 : _b.node);
|
|
1444
|
-
}
|
|
1445
|
-
// this is the field in the response type that contains the next link URL
|
|
1446
|
-
const nextLinkSegment = method.pagingMetadata.nextLinkSegments[0];
|
|
1447
|
-
if (nextLinkSegment.kind !== 'property') {
|
|
1448
|
-
throw new AdapterError('InternalError', `unexpected kind ${nextLinkSegment.kind} for next link segment in operation ${method.name}`, (_c = method.__raw) === null || _c === void 0 ? void 0 : _c.node);
|
|
1449
|
-
}
|
|
1450
|
-
const nextLinkField = this.fieldsMap.get(nextLinkSegment);
|
|
1451
|
-
if (!nextLinkField) {
|
|
1452
|
-
// the most likely explanation for this is lack of reference equality
|
|
1453
|
-
throw new AdapterError('InternalError', `missing next link field name ${nextLinkSegment.name} for operation ${method.name}`, (_d = method.__raw) === null || _d === void 0 ? void 0 : _d.node);
|
|
1454
|
-
}
|
|
1455
|
-
return new rust.PageableStrategyNextLink(nextLinkField);
|
|
1578
|
+
return new rust.PageableStrategyNextLink(buildNextLinkPath(method.pagingMetadata.nextLinkSegments));
|
|
1456
1579
|
}
|
|
1457
1580
|
else if (method.pagingMetadata.continuationTokenParameterSegments && method.pagingMetadata.continuationTokenResponseSegments) {
|
|
1458
|
-
if (method.pagingMetadata.continuationTokenParameterSegments.length > 1) {
|
|
1459
|
-
throw new AdapterError('UnsupportedTsp', `nested continuationTokenParameterSegments NYI`, (_e = method.__raw) === null || _e === void 0 ? void 0 : _e.node);
|
|
1460
|
-
}
|
|
1461
|
-
if (method.pagingMetadata.continuationTokenResponseSegments.length > 1) {
|
|
1462
|
-
throw new AdapterError('UnsupportedTsp', `nested continuationTokenResponseSegments NYI`, (_f = method.__raw) === null || _f === void 0 ? void 0 : _f.node);
|
|
1463
|
-
}
|
|
1464
1581
|
const tokenReq = method.pagingMetadata.continuationTokenParameterSegments[0];
|
|
1465
1582
|
const tokenResp = method.pagingMetadata.continuationTokenResponseSegments[0];
|
|
1466
1583
|
// find the continuation token parameter
|
|
@@ -1469,29 +1586,25 @@ export class Adapter {
|
|
|
1469
1586
|
case 'method': {
|
|
1470
1587
|
const tokenParam = paramsMap.get(tokenReq);
|
|
1471
1588
|
if (!tokenParam) {
|
|
1472
|
-
throw new AdapterError('InternalError', `missing continuation token request parameter name ${tokenResp.name} for operation ${method.name}`, (
|
|
1589
|
+
throw new AdapterError('InternalError', `missing continuation token request parameter name ${tokenResp.name} for operation ${method.name}`, (_b = method.__raw) === null || _b === void 0 ? void 0 : _b.node);
|
|
1473
1590
|
}
|
|
1474
1591
|
requestToken = tokenParam;
|
|
1475
1592
|
break;
|
|
1476
1593
|
}
|
|
1477
1594
|
default:
|
|
1478
|
-
throw new AdapterError('InternalError', `unhandled continuationTokenParameterSegment kind ${tokenReq.kind}`, (
|
|
1595
|
+
throw new AdapterError('InternalError', `unhandled continuationTokenParameterSegment kind ${tokenReq.kind}`, (_c = tokenReq.__raw) === null || _c === void 0 ? void 0 : _c.node);
|
|
1479
1596
|
}
|
|
1480
1597
|
// find the continuation token response
|
|
1481
1598
|
let responseToken;
|
|
1482
1599
|
switch (tokenResp.kind) {
|
|
1483
1600
|
case 'property': {
|
|
1484
|
-
|
|
1485
|
-
if (!tokenField) {
|
|
1486
|
-
throw new AdapterError('InternalError', `missing continuation token response field name ${tokenResp.name} for operation ${method.name}`, (_j = method.__raw) === null || _j === void 0 ? void 0 : _j.node);
|
|
1487
|
-
}
|
|
1488
|
-
responseToken = tokenField;
|
|
1601
|
+
responseToken = new rust.PageableStrategyNextLink(buildNextLinkPath(method.pagingMetadata.continuationTokenResponseSegments));
|
|
1489
1602
|
break;
|
|
1490
1603
|
}
|
|
1491
1604
|
case 'responseheader': {
|
|
1492
1605
|
const tokenHeader = respHeadersMap.get(tokenResp);
|
|
1493
1606
|
if (!tokenHeader) {
|
|
1494
|
-
throw new AdapterError('InternalError', `missing continuation token response header name ${tokenResp.name} for operation ${method.name}`, (
|
|
1607
|
+
throw new AdapterError('InternalError', `missing continuation token response header name ${tokenResp.name} for operation ${method.name}`, (_d = method.__raw) === null || _d === void 0 ? void 0 : _d.node);
|
|
1495
1608
|
}
|
|
1496
1609
|
if (tokenHeader.kind !== 'responseHeaderScalar') {
|
|
1497
1610
|
throw new AdapterError('InternalError', `unexpected response header kind ${tokenHeader.kind}`);
|
|
@@ -1500,12 +1613,13 @@ export class Adapter {
|
|
|
1500
1613
|
break;
|
|
1501
1614
|
}
|
|
1502
1615
|
default:
|
|
1503
|
-
throw new AdapterError('InternalError', `missing continuation token`, (
|
|
1616
|
+
throw new AdapterError('InternalError', `missing continuation token`, (_e = method.__raw) === null || _e === void 0 ? void 0 : _e.node);
|
|
1504
1617
|
}
|
|
1505
1618
|
return new rust.PageableStrategyContinuationToken(requestToken, responseToken);
|
|
1506
1619
|
}
|
|
1507
1620
|
else {
|
|
1508
|
-
|
|
1621
|
+
// operation is pageable but doesn't yet support fetching subsequent pages
|
|
1622
|
+
return undefined;
|
|
1509
1623
|
}
|
|
1510
1624
|
}
|
|
1511
1625
|
/**
|
|
@@ -1754,6 +1868,8 @@ export class Adapter {
|
|
|
1754
1868
|
case 'slice':
|
|
1755
1869
|
case 'str':
|
|
1756
1870
|
case 'String':
|
|
1871
|
+
case 'union':
|
|
1872
|
+
case 'unionMember':
|
|
1757
1873
|
case 'Url':
|
|
1758
1874
|
case 'Vec':
|
|
1759
1875
|
return type;
|
|
@@ -1984,4 +2100,7 @@ function getXMLKind(decorators, field) {
|
|
|
1984
2100
|
function hasClientNameDecorator(decorators) {
|
|
1985
2101
|
return decorators.find((decorator) => decorator.name === 'Azure.ClientGenerator.Core.@clientName') !== undefined;
|
|
1986
2102
|
}
|
|
2103
|
+
function isHttpStatusCodeRange(statusCode) {
|
|
2104
|
+
return statusCode.start !== undefined;
|
|
2105
|
+
}
|
|
1987
2106
|
//# sourceMappingURL=adapter.js.map
|