@azure-tools/typespec-rust 0.1.0 → 0.2.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.
- package/dist/src/codegen/cargotoml.d.ts +6 -0
- package/dist/src/codegen/cargotoml.d.ts.map +1 -1
- package/dist/src/codegen/cargotoml.js +6 -1
- package/dist/src/codegen/cargotoml.js.map +1 -1
- package/dist/src/codegen/clients.d.ts +19 -2
- package/dist/src/codegen/clients.d.ts.map +1 -1
- package/dist/src/codegen/clients.js +483 -250
- package/dist/src/codegen/clients.js.map +1 -1
- package/dist/src/codegen/codeGenerator.d.ts +29 -6
- package/dist/src/codegen/codeGenerator.d.ts.map +1 -1
- package/dist/src/codegen/codeGenerator.js +64 -25
- package/dist/src/codegen/codeGenerator.js.map +1 -1
- package/dist/src/codegen/context.d.ts +41 -0
- package/dist/src/codegen/context.d.ts.map +1 -1
- package/dist/src/codegen/context.js +94 -15
- package/dist/src/codegen/context.js.map +1 -1
- package/dist/src/codegen/enums.d.ts +9 -1
- package/dist/src/codegen/enums.d.ts.map +1 -1
- package/dist/src/codegen/enums.js +34 -20
- package/dist/src/codegen/enums.js.map +1 -1
- package/dist/src/codegen/helpers.d.ts +116 -2
- package/dist/src/codegen/helpers.d.ts.map +1 -1
- package/dist/src/codegen/helpers.js +148 -18
- package/dist/src/codegen/helpers.js.map +1 -1
- package/dist/src/codegen/lib.d.ts +7 -1
- package/dist/src/codegen/lib.d.ts.map +1 -1
- package/dist/src/codegen/lib.js +10 -5
- package/dist/src/codegen/lib.js.map +1 -1
- package/dist/src/codegen/mod.d.ts +6 -1
- package/dist/src/codegen/mod.d.ts.map +1 -1
- package/dist/src/codegen/mod.js +9 -10
- package/dist/src/codegen/mod.js.map +1 -1
- package/dist/src/codegen/models.d.ts +20 -1
- package/dist/src/codegen/models.d.ts.map +1 -1
- package/dist/src/codegen/models.js +250 -13
- package/dist/src/codegen/models.js.map +1 -1
- package/dist/src/codegen/use.d.ts +32 -0
- package/dist/src/codegen/use.d.ts.map +1 -1
- package/dist/src/codegen/use.js +42 -15
- package/dist/src/codegen/use.js.map +1 -1
- package/dist/src/codemodel/client.d.ts +150 -11
- package/dist/src/codemodel/client.d.ts.map +1 -1
- package/dist/src/codemodel/client.js +60 -17
- package/dist/src/codemodel/client.js.map +1 -1
- package/dist/src/codemodel/crate.d.ts +33 -0
- package/dist/src/codemodel/crate.d.ts.map +1 -1
- package/dist/src/codemodel/crate.js +17 -0
- package/dist/src/codemodel/crate.js.map +1 -1
- package/dist/src/codemodel/method.d.ts +17 -0
- package/dist/src/codemodel/method.d.ts.map +1 -1
- package/dist/src/codemodel/types.d.ts +152 -24
- package/dist/src/codemodel/types.d.ts.map +1 -1
- package/dist/src/codemodel/types.js +39 -25
- package/dist/src/codemodel/types.js.map +1 -1
- package/dist/src/emitter.d.ts +5 -0
- package/dist/src/emitter.d.ts.map +1 -1
- package/dist/src/emitter.js +20 -20
- package/dist/src/emitter.js.map +1 -1
- package/dist/src/lib.d.ts +1 -0
- package/dist/src/lib.d.ts.map +1 -1
- package/dist/src/lib.js +1 -0
- package/dist/src/lib.js.map +1 -1
- package/dist/src/tcgcadapter/adapter.d.ts +73 -1
- package/dist/src/tcgcadapter/adapter.d.ts.map +1 -1
- package/dist/src/tcgcadapter/adapter.js +338 -71
- package/dist/src/tcgcadapter/adapter.js.map +1 -1
- package/dist/src/tcgcadapter/helpers.d.ts +18 -0
- package/dist/src/tcgcadapter/helpers.d.ts.map +1 -1
- package/dist/src/tcgcadapter/helpers.js +23 -2
- package/dist/src/tcgcadapter/helpers.js.map +1 -1
- package/dist/src/tcgcadapter/naming.d.ts +8 -0
- package/dist/src/tcgcadapter/naming.d.ts.map +1 -1
- package/dist/src/tcgcadapter/naming.js +8 -5
- package/dist/src/tcgcadapter/naming.js.map +1 -1
- package/package.json +21 -23
|
@@ -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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"}
|
|
@@ -1,14 +1,37 @@
|
|
|
1
|
-
import { ClientFiles } from './clients.js';
|
|
2
1
|
import * as rust from '../codemodel/index.js';
|
|
2
|
+
/** a file to emit */
|
|
3
|
+
export interface File {
|
|
4
|
+
/** the name of the file. can contain sub-directories */
|
|
5
|
+
readonly name: string;
|
|
6
|
+
/** the contents of the file */
|
|
7
|
+
readonly content: string;
|
|
8
|
+
}
|
|
9
|
+
/** CodeGenerator exposes the APIs for obtaining generated code content */
|
|
3
10
|
export declare class CodeGenerator {
|
|
4
11
|
private readonly context;
|
|
5
12
|
private readonly crate;
|
|
13
|
+
/**
|
|
14
|
+
* instantiates a new CodeGenerator instance for the provided crate
|
|
15
|
+
* @param crate the Rust crate for which to generate code
|
|
16
|
+
*/
|
|
6
17
|
constructor(crate: rust.Crate);
|
|
18
|
+
/**
|
|
19
|
+
* generates a Cargo.toml file
|
|
20
|
+
*
|
|
21
|
+
* @returns the contents for the Cargo.toml file
|
|
22
|
+
*/
|
|
7
23
|
emitCargoToml(): string;
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
24
|
+
/**
|
|
25
|
+
* generates the lib.rs file for crate
|
|
26
|
+
*
|
|
27
|
+
* @returns the content for lib.rs
|
|
28
|
+
*/
|
|
29
|
+
emitLibRs(): string;
|
|
30
|
+
/**
|
|
31
|
+
* generates all clients, models, and any helper content
|
|
32
|
+
*
|
|
33
|
+
* @returns an array of files to emit
|
|
34
|
+
*/
|
|
35
|
+
emitContent(): Array<File>;
|
|
13
36
|
}
|
|
14
37
|
//# sourceMappingURL=codeGenerator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codeGenerator.d.ts","sourceRoot":"","sources":["../../../src/codegen/codeGenerator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"codeGenerator.d.ts","sourceRoot":"","sources":["../../../src/codegen/codeGenerator.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,IAAI,MAAM,uBAAuB,CAAC;AAE9C,qBAAqB;AACrB,MAAM,WAAW,IAAI;IACnB,wDAAwD;IACxD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,+BAA+B;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,0EAA0E;AAC1E,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAa;IAEnC;;;OAGG;gBACS,KAAK,EAAE,IAAI,CAAC,KAAK;IAK7B;;;;OAIG;IACH,aAAa,IAAI,MAAM;IAIvB;;;;OAIG;IACH,SAAS,IAAI,MAAM;IAInB;;;;OAIG;IACH,WAAW,IAAI,KAAK,CAAC,IAAI,CAAC;CA8C3B"}
|
|
@@ -6,41 +6,80 @@ import { emitCargoToml } from './cargotoml.js';
|
|
|
6
6
|
import { emitClients } from './clients.js';
|
|
7
7
|
import { Context } from './context.js';
|
|
8
8
|
import { emitEnums } from './enums.js';
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
9
|
+
import { emitLibRs } from './lib.js';
|
|
10
|
+
import { emitModRs } from './mod.js';
|
|
11
11
|
import { emitModels } from './models.js';
|
|
12
|
-
|
|
12
|
+
import * as rust from '../codemodel/index.js';
|
|
13
|
+
/** CodeGenerator exposes the APIs for obtaining generated code content */
|
|
13
14
|
export class CodeGenerator {
|
|
15
|
+
/**
|
|
16
|
+
* instantiates a new CodeGenerator instance for the provided crate
|
|
17
|
+
* @param crate the Rust crate for which to generate code
|
|
18
|
+
*/
|
|
14
19
|
constructor(crate) {
|
|
15
20
|
this.context = new Context(crate);
|
|
16
21
|
this.crate = crate;
|
|
17
22
|
}
|
|
18
|
-
|
|
23
|
+
/**
|
|
24
|
+
* generates a Cargo.toml file
|
|
25
|
+
*
|
|
26
|
+
* @returns the contents for the Cargo.toml file
|
|
27
|
+
*/
|
|
19
28
|
emitCargoToml() {
|
|
20
29
|
return emitCargoToml(this.crate);
|
|
21
30
|
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
31
|
+
/**
|
|
32
|
+
* generates the lib.rs file for crate
|
|
33
|
+
*
|
|
34
|
+
* @returns the content for lib.rs
|
|
35
|
+
*/
|
|
36
|
+
emitLibRs() {
|
|
37
|
+
return emitLibRs(this.crate);
|
|
26
38
|
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
39
|
+
/**
|
|
40
|
+
* generates all clients, models, and any helper content
|
|
41
|
+
*
|
|
42
|
+
* @returns an array of files to emit
|
|
43
|
+
*/
|
|
44
|
+
emitContent() {
|
|
45
|
+
const clientsModRS = new Array();
|
|
46
|
+
const generatedModRS = new Array();
|
|
47
|
+
const files = new Array();
|
|
48
|
+
const clientsSubDir = 'clients';
|
|
49
|
+
const clients = emitClients(this.crate, clientsSubDir);
|
|
50
|
+
if (clients) {
|
|
51
|
+
clientsModRS.push(...clients.modules);
|
|
52
|
+
generatedModRS.push(new rust.Module('clients', true));
|
|
53
|
+
files.push(...clients.clients);
|
|
54
|
+
}
|
|
55
|
+
const enums = emitEnums(this.crate, this.context);
|
|
56
|
+
if (enums) {
|
|
57
|
+
generatedModRS.push(new rust.Module('enums', true));
|
|
58
|
+
files.push({ name: 'enums.rs', content: enums });
|
|
59
|
+
}
|
|
60
|
+
const models = emitModels(this.crate, this.context);
|
|
61
|
+
if (models.public) {
|
|
62
|
+
generatedModRS.push(new rust.Module('models', true));
|
|
63
|
+
files.push({ name: 'models.rs', content: models.public });
|
|
64
|
+
}
|
|
65
|
+
if (models.serde) {
|
|
66
|
+
generatedModRS.push(new rust.Module('models_serde', true));
|
|
67
|
+
files.push({ name: 'models_serde.rs', content: models.serde });
|
|
68
|
+
}
|
|
69
|
+
if (models.internal) {
|
|
70
|
+
clientsModRS.push(new rust.Module('internal_models', false));
|
|
71
|
+
files.push({ name: `${clientsSubDir}/internal_models.rs`, content: models.internal });
|
|
72
|
+
}
|
|
73
|
+
if (models.xmlHelpers) {
|
|
74
|
+
generatedModRS.push(new rust.Module('xml_helpers', false));
|
|
75
|
+
files.push({ name: 'xml_helpers.rs', content: models.xmlHelpers });
|
|
76
|
+
}
|
|
77
|
+
if (clientsModRS.length > 0) {
|
|
78
|
+
files.push({ name: `${clientsSubDir}/mod.rs`, content: emitModRs(clientsModRS) });
|
|
79
|
+
}
|
|
80
|
+
// there will always be something in the generated/mod.rs file
|
|
81
|
+
files.push({ name: 'mod.rs', content: emitModRs(generatedModRS) });
|
|
82
|
+
return files;
|
|
44
83
|
}
|
|
45
84
|
}
|
|
46
85
|
//# sourceMappingURL=codeGenerator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codeGenerator.js","sourceRoot":"","sources":["../../../src/codegen/codeGenerator.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,
|
|
1
|
+
{"version":3,"file":"codeGenerator.js","sourceRoot":"","sources":["../../../src/codegen/codeGenerator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,51 @@
|
|
|
1
1
|
import { Use } from './use.js';
|
|
2
2
|
import * as rust from '../codemodel/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* Context contains contextual information about how types are used.
|
|
5
|
+
* It's an implementation detail of CodeGenerator and isn't intended
|
|
6
|
+
* for use outside of that class.
|
|
7
|
+
*/
|
|
3
8
|
export declare class Context {
|
|
9
|
+
private readonly bodyFormatForModels;
|
|
4
10
|
private readonly tryFromForRequestTypes;
|
|
5
11
|
private readonly tryFromResponseTypes;
|
|
12
|
+
/**
|
|
13
|
+
* instantiates a new Context for the provided crate
|
|
14
|
+
*
|
|
15
|
+
* @param crate the crate for which the context will be constructed
|
|
16
|
+
*/
|
|
6
17
|
constructor(crate: rust.Crate);
|
|
18
|
+
/**
|
|
19
|
+
* returns the impl TryFrom<T> for RequestContent<T> where T is type.
|
|
20
|
+
* if no impl is required, it returns the empty string.
|
|
21
|
+
*
|
|
22
|
+
* @param type the type for which to implement TryFrom
|
|
23
|
+
* @param use the use statement builder currently in scope
|
|
24
|
+
* @returns the impl TryFrom<T> block for type or the empty string
|
|
25
|
+
*/
|
|
7
26
|
getTryFromForRequestContent(type: rust.Type, use: Use): string;
|
|
27
|
+
/**
|
|
28
|
+
* returns the impl TryFrom<Response<T>> for T where T is type.
|
|
29
|
+
* if no impl is required, it returns the empty string.
|
|
30
|
+
*
|
|
31
|
+
* @param type the type for which to implement TryFrom
|
|
32
|
+
* @param use the use statement builder currently in scope
|
|
33
|
+
* @returns the impl TryFrom<T> block for type or the empty string
|
|
34
|
+
*/
|
|
8
35
|
getTryFromResponseForType(type: rust.Type, use: Use): string;
|
|
36
|
+
/**
|
|
37
|
+
* returns the body format for the provided model
|
|
38
|
+
*
|
|
39
|
+
* @param model the model for which to determine the format
|
|
40
|
+
* @returns the body format
|
|
41
|
+
*/
|
|
42
|
+
getModelBodyFormat(model: rust.Model): rust.BodyFormat;
|
|
43
|
+
/**
|
|
44
|
+
* verifies that the body format is JSON or XML as those are
|
|
45
|
+
* the only formats requiring impl TryFrom<T> helpers.
|
|
46
|
+
*
|
|
47
|
+
* @param format the format to inspect
|
|
48
|
+
*/
|
|
49
|
+
private validateBodyFormat;
|
|
9
50
|
}
|
|
10
51
|
//# sourceMappingURL=context.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/codegen/context.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,KAAK,IAAI,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/codegen/context.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,KAAK,IAAI,MAAM,uBAAuB,CAAC;AAE9C;;;;GAIG;AACH,qBAAa,OAAO;IAClB,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA0C;IAC9E,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAsC;IAC7E,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAsC;IAE3E;;;;OAIG;gBACS,KAAK,EAAE,IAAI,CAAC,KAAK;IA2D7B;;;;;;;OAOG;IACH,2BAA2B,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,GAAG,MAAM;IAoB9D;;;;;;;OAOG;IACH,yBAAyB,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,GAAG,MAAM;IAsB5D;;;;;OAKG;IACH,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU;IAQtD;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;CAS3B"}
|
|
@@ -3,13 +3,39 @@
|
|
|
3
3
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
4
4
|
*--------------------------------------------------------------------------------------------*/
|
|
5
5
|
import * as helpers from './helpers.js';
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
/**
|
|
7
|
+
* Context contains contextual information about how types are used.
|
|
8
|
+
* It's an implementation detail of CodeGenerator and isn't intended
|
|
9
|
+
* for use outside of that class.
|
|
10
|
+
*/
|
|
9
11
|
export class Context {
|
|
12
|
+
/**
|
|
13
|
+
* instantiates a new Context for the provided crate
|
|
14
|
+
*
|
|
15
|
+
* @param crate the crate for which the context will be constructed
|
|
16
|
+
*/
|
|
10
17
|
constructor(crate) {
|
|
18
|
+
this.bodyFormatForModels = new Map();
|
|
11
19
|
this.tryFromForRequestTypes = new Map();
|
|
12
20
|
this.tryFromResponseTypes = new Map();
|
|
21
|
+
const recursiveAddBodyFormat = (type, format) => {
|
|
22
|
+
type = helpers.unwrapType(type);
|
|
23
|
+
if (type.kind !== 'model') {
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
const existingFormat = this.bodyFormatForModels.get(type);
|
|
27
|
+
if (existingFormat) {
|
|
28
|
+
if (existingFormat === format) {
|
|
29
|
+
// already processed this model
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
throw new Error(`found conflicting body formats for model ${type.name}`);
|
|
33
|
+
}
|
|
34
|
+
this.bodyFormatForModels.set(type, format);
|
|
35
|
+
for (const field of type.fields) {
|
|
36
|
+
recursiveAddBodyFormat(field.type, format);
|
|
37
|
+
}
|
|
38
|
+
};
|
|
13
39
|
// enumerate all client methods, looking for enum and model
|
|
14
40
|
// params/responses and their wire format (JSON/XML etc).
|
|
15
41
|
for (const client of crate.clients) {
|
|
@@ -21,49 +47,74 @@ export class Context {
|
|
|
21
47
|
// or Vec<T> where T is an enum or model type.
|
|
22
48
|
// https://github.com/Azure/typespec-rust/issues/65
|
|
23
49
|
for (const param of method.params) {
|
|
24
|
-
if (param.kind === 'body'
|
|
25
|
-
|
|
50
|
+
if (param.kind === 'body' || param.kind === 'partialBody') {
|
|
51
|
+
if (param.type.type.kind === 'enum' || param.type.type.kind === 'model') {
|
|
52
|
+
this.tryFromForRequestTypes.set(helpers.getTypeDeclaration(param.type.type), param.type.format);
|
|
53
|
+
}
|
|
54
|
+
recursiveAddBodyFormat(param.type.type, param.type.format);
|
|
26
55
|
}
|
|
27
56
|
}
|
|
28
|
-
if (method.returns.type.kind === 'response' &&
|
|
57
|
+
if (method.returns.type.kind === 'response' && method.returns.type.type.kind !== 'unit') {
|
|
29
58
|
if (!method.returns.type.format) {
|
|
30
59
|
throw new Error(`method ${client.name}.${method.name} returns a body but no format was specified`);
|
|
31
60
|
}
|
|
61
|
+
if (method.returns.type.type.kind === 'enum' || method.returns.type.type.kind === 'model') {
|
|
62
|
+
this.tryFromResponseTypes.set(helpers.getTypeDeclaration(method.returns.type.type), method.returns.type.format);
|
|
63
|
+
}
|
|
64
|
+
recursiveAddBodyFormat(method.returns.type.type, method.returns.type.format);
|
|
65
|
+
}
|
|
66
|
+
else if (method.returns.type.kind === 'pager') {
|
|
32
67
|
this.tryFromResponseTypes.set(helpers.getTypeDeclaration(method.returns.type.type), method.returns.type.format);
|
|
68
|
+
recursiveAddBodyFormat(method.returns.type.type, method.returns.type.format);
|
|
33
69
|
}
|
|
34
70
|
}
|
|
35
71
|
}
|
|
36
72
|
}
|
|
37
|
-
|
|
38
|
-
|
|
73
|
+
/**
|
|
74
|
+
* returns the impl TryFrom<T> for RequestContent<T> where T is type.
|
|
75
|
+
* if no impl is required, it returns the empty string.
|
|
76
|
+
*
|
|
77
|
+
* @param type the type for which to implement TryFrom
|
|
78
|
+
* @param use the use statement builder currently in scope
|
|
79
|
+
* @returns the impl TryFrom<T> block for type or the empty string
|
|
80
|
+
*/
|
|
39
81
|
getTryFromForRequestContent(type, use) {
|
|
40
82
|
const format = this.tryFromForRequestTypes.get(helpers.getTypeDeclaration(type));
|
|
41
83
|
if (!format) {
|
|
42
84
|
return '';
|
|
43
85
|
}
|
|
44
|
-
|
|
86
|
+
this.validateBodyFormat(format);
|
|
87
|
+
use.addTypes('azure_core', ['RequestContent', 'Result']);
|
|
88
|
+
use.addType('typespec_client_core', `${format}::to_${format}`);
|
|
45
89
|
const indent = new helpers.indentation();
|
|
46
90
|
let content = `impl TryFrom<${helpers.getTypeDeclaration(type)}> for RequestContent<${helpers.getTypeDeclaration(type)}> {\n`;
|
|
47
91
|
content += `${indent.get()}type Error = azure_core::Error;\n`;
|
|
48
|
-
content += `${indent.get()}fn try_from(value: ${helpers.getTypeDeclaration(type)}) -> Result<Self
|
|
49
|
-
content += `${indent.push().get()}
|
|
92
|
+
content += `${indent.get()}fn try_from(value: ${helpers.getTypeDeclaration(type)}) -> Result<Self> {\n`;
|
|
93
|
+
content += `${indent.push().get()}RequestContent::try_from(to_${format}(&value)?)\n`;
|
|
50
94
|
content += `${indent.pop().get()}}\n`;
|
|
51
95
|
content += '}\n\n';
|
|
52
96
|
return content;
|
|
53
97
|
}
|
|
54
|
-
|
|
55
|
-
|
|
98
|
+
/**
|
|
99
|
+
* returns the impl TryFrom<Response<T>> for T where T is type.
|
|
100
|
+
* if no impl is required, it returns the empty string.
|
|
101
|
+
*
|
|
102
|
+
* @param type the type for which to implement TryFrom
|
|
103
|
+
* @param use the use statement builder currently in scope
|
|
104
|
+
* @returns the impl TryFrom<T> block for type or the empty string
|
|
105
|
+
*/
|
|
56
106
|
getTryFromResponseForType(type, use) {
|
|
57
107
|
const format = this.tryFromResponseTypes.get(helpers.getTypeDeclaration(type));
|
|
58
108
|
if (!format) {
|
|
59
109
|
return '';
|
|
60
110
|
}
|
|
61
|
-
|
|
111
|
+
this.validateBodyFormat(format);
|
|
112
|
+
use.addTypes('azure_core', ['Response', 'Result']);
|
|
62
113
|
use.addType('async_std::task', 'block_on');
|
|
63
114
|
const indent = new helpers.indentation();
|
|
64
115
|
let content = `impl TryFrom<Response<${helpers.getTypeDeclaration(type)}>> for ${helpers.getTypeDeclaration(type)} {\n`;
|
|
65
116
|
content += `${indent.get()}type Error = azure_core::Error;\n`;
|
|
66
|
-
content += `${indent.get()}fn try_from(value: Response<${helpers.getTypeDeclaration(type)}>) -> Result<Self
|
|
117
|
+
content += `${indent.get()}fn try_from(value: Response<${helpers.getTypeDeclaration(type)}>) -> Result<Self> {\n`;
|
|
67
118
|
content += `${indent.push().get()}let f = || value.into_body().${format}::<${helpers.getTypeDeclaration(type)}>();\n`;
|
|
68
119
|
content += `${indent.get()}let r = block_on(f())?;\n`;
|
|
69
120
|
content += `${indent.get()}Ok(r)\n`;
|
|
@@ -71,5 +122,33 @@ export class Context {
|
|
|
71
122
|
content += '}\n\n';
|
|
72
123
|
return content;
|
|
73
124
|
}
|
|
125
|
+
/**
|
|
126
|
+
* returns the body format for the provided model
|
|
127
|
+
*
|
|
128
|
+
* @param model the model for which to determine the format
|
|
129
|
+
* @returns the body format
|
|
130
|
+
*/
|
|
131
|
+
getModelBodyFormat(model) {
|
|
132
|
+
const bodyFormat = this.bodyFormatForModels.get(model);
|
|
133
|
+
if (!bodyFormat) {
|
|
134
|
+
throw new Error(`didn't find body format for model ${model.name}`);
|
|
135
|
+
}
|
|
136
|
+
return bodyFormat;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* verifies that the body format is JSON or XML as those are
|
|
140
|
+
* the only formats requiring impl TryFrom<T> helpers.
|
|
141
|
+
*
|
|
142
|
+
* @param format the format to inspect
|
|
143
|
+
*/
|
|
144
|
+
validateBodyFormat(format) {
|
|
145
|
+
switch (format) {
|
|
146
|
+
case 'json':
|
|
147
|
+
case 'xml':
|
|
148
|
+
return;
|
|
149
|
+
default:
|
|
150
|
+
throw new Error(`unexpected body format ${format}`);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
74
153
|
}
|
|
75
154
|
//# sourceMappingURL=context.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/codegen/context.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AAIxC
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/codegen/context.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,12 @@
|
|
|
1
1
|
import { Context } from './context.js';
|
|
2
2
|
import * as rust from '../codemodel/index.js';
|
|
3
|
-
|
|
3
|
+
/**
|
|
4
|
+
* returns the emitted enum types, or undefined if the
|
|
5
|
+
* crate contains no enum types.
|
|
6
|
+
*
|
|
7
|
+
* @param crate the crate for which to emit enums
|
|
8
|
+
* @param context the context for the provided crate
|
|
9
|
+
* @returns the enum content or undefined
|
|
10
|
+
*/
|
|
11
|
+
export declare function emitEnums(crate: rust.Crate, context: Context): string | undefined;
|
|
4
12
|
//# sourceMappingURL=enums.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../../../src/codegen/enums.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAGvC,OAAO,KAAK,IAAI,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../../../src/codegen/enums.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAGvC,OAAO,KAAK,IAAI,MAAM,uBAAuB,CAAC;AAE9C;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAuDjF"}
|
|
@@ -4,36 +4,50 @@
|
|
|
4
4
|
*--------------------------------------------------------------------------------------------*/
|
|
5
5
|
import * as helpers from './helpers.js';
|
|
6
6
|
import { Use } from './use.js';
|
|
7
|
-
|
|
7
|
+
/**
|
|
8
|
+
* returns the emitted enum types, or undefined if the
|
|
9
|
+
* crate contains no enum types.
|
|
10
|
+
*
|
|
11
|
+
* @param crate the crate for which to emit enums
|
|
12
|
+
* @param context the context for the provided crate
|
|
13
|
+
* @returns the enum content or undefined
|
|
14
|
+
*/
|
|
8
15
|
export function emitEnums(crate, context) {
|
|
9
16
|
if (crate.enums.length === 0) {
|
|
10
|
-
return
|
|
17
|
+
return undefined;
|
|
11
18
|
}
|
|
12
19
|
const use = new Use('models');
|
|
13
|
-
|
|
14
|
-
|
|
20
|
+
// note that create_extensible_enum uses create_enum, so it will always be used
|
|
21
|
+
use.addType('typespec_client_core', 'create_enum');
|
|
22
|
+
const indent = new helpers.indentation();
|
|
15
23
|
let body = '';
|
|
16
24
|
for (const rustEnum of crate.enums) {
|
|
17
|
-
|
|
18
|
-
// only derive Copy for fixed enums
|
|
19
|
-
body += helpers.annotationDerive(!rustEnum.extensible ? 'Copy' : '', 'Eq', 'PartialEq');
|
|
20
|
-
body += helpers.AnnotationNonExhaustive;
|
|
21
|
-
body += `${helpers.emitPub(rustEnum.pub)}enum ${rustEnum.name} {\n`;
|
|
22
|
-
for (const value of rustEnum.values) {
|
|
23
|
-
body += helpers.formatDocComment(value.docs);
|
|
24
|
-
if (value.name !== value.value) {
|
|
25
|
-
// only emit the serde annotation when the names aren't equal
|
|
26
|
-
body += `${indentation.get()}#[serde(rename = "${value.value}")]\n`;
|
|
27
|
-
}
|
|
28
|
-
body += `${indentation.get()}${value.name},\n`;
|
|
29
|
-
}
|
|
25
|
+
let enumType = 'create_enum';
|
|
30
26
|
if (rustEnum.extensible) {
|
|
31
|
-
|
|
27
|
+
use.addType('typespec_client_core', 'create_extensible_enum');
|
|
28
|
+
enumType = 'create_extensible_enum';
|
|
29
|
+
}
|
|
30
|
+
body += `${enumType}!(\n`;
|
|
31
|
+
const docs = helpers.formatDocComment(rustEnum.docs);
|
|
32
|
+
if (docs.length > 0) {
|
|
33
|
+
body += `${indent.get()}#[doc = r#"${docs}"#]\n`;
|
|
34
|
+
}
|
|
35
|
+
body += `${indent.get()}${rustEnum.name},\n`;
|
|
36
|
+
for (let i = 0; i < rustEnum.values.length; ++i) {
|
|
37
|
+
const value = rustEnum.values[i];
|
|
38
|
+
const docs = helpers.formatDocComment(value.docs);
|
|
39
|
+
if (docs.length > 0) {
|
|
40
|
+
body += `${indent.get()}#[doc = r#"${docs}"#]\n`;
|
|
41
|
+
}
|
|
32
42
|
// TODO: hard-coded String type
|
|
33
43
|
// https://github.com/Azure/typespec-rust/issues/25
|
|
34
|
-
body += `${
|
|
44
|
+
body += `${indent.get()}(${value.name}, "${value.value}")`;
|
|
45
|
+
if (i + 1 < rustEnum.values.length) {
|
|
46
|
+
body += ',';
|
|
47
|
+
}
|
|
48
|
+
body += '\n';
|
|
35
49
|
}
|
|
36
|
-
body += '
|
|
50
|
+
body += ');\n\n'; // end enum macro
|
|
37
51
|
}
|
|
38
52
|
// emit TryFrom as required
|
|
39
53
|
for (const rustEnum of crate.enums) {
|