@azure-tools/typespec-rust 0.10.0 → 0.12.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/clients.d.ts +8 -13
- package/dist/src/codegen/clients.d.ts.map +1 -1
- package/dist/src/codegen/clients.js +43 -49
- package/dist/src/codegen/clients.js.map +1 -1
- package/dist/src/codegen/codeGenerator.d.ts +1 -2
- package/dist/src/codegen/codeGenerator.d.ts.map +1 -1
- package/dist/src/codegen/codeGenerator.js +28 -27
- package/dist/src/codegen/codeGenerator.js.map +1 -1
- package/dist/src/codegen/enums.d.ts +2 -1
- package/dist/src/codegen/enums.d.ts.map +1 -1
- package/dist/src/codegen/enums.js +4 -1
- package/dist/src/codegen/enums.js.map +1 -1
- package/dist/src/codegen/headerTraits.d.ts +2 -2
- package/dist/src/codegen/headerTraits.d.ts.map +1 -1
- package/dist/src/codegen/headerTraits.js +6 -4
- package/dist/src/codegen/headerTraits.js.map +1 -1
- package/dist/src/codegen/helpers.d.ts +11 -4
- package/dist/src/codegen/helpers.d.ts.map +1 -1
- package/dist/src/codegen/helpers.js +50 -10
- package/dist/src/codegen/helpers.js.map +1 -1
- package/dist/src/codegen/lib.d.ts +1 -4
- package/dist/src/codegen/lib.d.ts.map +1 -1
- package/dist/src/codegen/lib.js +4 -99
- package/dist/src/codegen/lib.js.map +1 -1
- package/dist/src/codegen/mod.d.ts +10 -4
- package/dist/src/codegen/mod.d.ts.map +1 -1
- package/dist/src/codegen/mod.js +36 -19
- package/dist/src/codegen/mod.js.map +1 -1
- package/dist/src/codegen/models.d.ts +5 -4
- package/dist/src/codegen/models.d.ts.map +1 -1
- package/dist/src/codegen/models.js +465 -46
- package/dist/src/codegen/models.js.map +1 -1
- package/dist/src/codegen/use.d.ts +7 -6
- package/dist/src/codegen/use.d.ts.map +1 -1
- package/dist/src/codegen/use.js +31 -16
- package/dist/src/codegen/use.js.map +1 -1
- package/dist/src/codemodel/client.d.ts +8 -3
- package/dist/src/codemodel/client.d.ts.map +1 -1
- package/dist/src/codemodel/client.js +9 -8
- package/dist/src/codemodel/client.js.map +1 -1
- package/dist/src/codemodel/method.d.ts +3 -3
- package/dist/src/codemodel/method.d.ts.map +1 -1
- package/dist/src/codemodel/method.js +2 -2
- package/dist/src/codemodel/method.js.map +1 -1
- package/dist/src/codemodel/types.d.ts +14 -12
- package/dist/src/codemodel/types.d.ts.map +1 -1
- package/dist/src/codemodel/types.js +15 -15
- package/dist/src/codemodel/types.js.map +1 -1
- package/dist/src/emitter.d.ts.map +1 -1
- package/dist/src/emitter.js +12 -6
- 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 +2 -1
- package/dist/src/lib.js.map +1 -1
- package/dist/src/tcgcadapter/adapter.d.ts +5 -1
- package/dist/src/tcgcadapter/adapter.d.ts.map +1 -1
- package/dist/src/tcgcadapter/adapter.js +115 -42
- package/dist/src/tcgcadapter/adapter.js.map +1 -1
- package/package.json +39 -29
|
@@ -11,7 +11,6 @@ import { Use } from './use.js';
|
|
|
11
11
|
* the header traits provide access to typed response headers
|
|
12
12
|
*
|
|
13
13
|
* @param crate the crate for which to emit header traits
|
|
14
|
-
* @param context the context for the provided crate
|
|
15
14
|
* @returns the header traits content or undefined
|
|
16
15
|
*/
|
|
17
16
|
export function emitHeaderTraits(crate) {
|
|
@@ -121,7 +120,7 @@ export function emitHeaderTraits(crate) {
|
|
|
121
120
|
}
|
|
122
121
|
return `fn ${codegen.deconstruct(header.name).join('_')}(&self) -> Result<${resultType}>`;
|
|
123
122
|
};
|
|
124
|
-
const use = new Use();
|
|
123
|
+
const use = new Use('modelsOther');
|
|
125
124
|
use.addTypes('azure_core', ['headers::HeaderName', 'Response', 'Result']);
|
|
126
125
|
const indent = new helpers.indentation();
|
|
127
126
|
let body = '';
|
|
@@ -158,7 +157,10 @@ export function emitHeaderTraits(crate) {
|
|
|
158
157
|
content += use.text();
|
|
159
158
|
content += body;
|
|
160
159
|
content += getSealedImpls(traits);
|
|
161
|
-
return
|
|
160
|
+
return {
|
|
161
|
+
name: 'header_traits',
|
|
162
|
+
content: content,
|
|
163
|
+
};
|
|
162
164
|
}
|
|
163
165
|
/**
|
|
164
166
|
* creates the name to use for a header constant
|
|
@@ -220,7 +222,7 @@ function getHeaderDeserialization(indent, use, header) {
|
|
|
220
222
|
* @returns the private mod definition
|
|
221
223
|
*/
|
|
222
224
|
function getSealedImpls(traitDefs) {
|
|
223
|
-
const use = new Use();
|
|
225
|
+
const use = new Use('modelsOther');
|
|
224
226
|
const indent = new helpers.indentation();
|
|
225
227
|
const implsFor = new Array();
|
|
226
228
|
for (const traitDef of traitDefs) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"headerTraits.js","sourceRoot":"","sources":["../../../src/codegen/headerTraits.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAChD,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAG/B
|
|
1
|
+
{"version":3,"file":"headerTraits.js","sourceRoot":"","sources":["../../../src/codegen/headerTraits.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
import * as rust from '../codemodel/index.js';
|
|
2
2
|
export declare const AnnotationNonExhaustive = "#[non_exhaustive]\n";
|
|
3
3
|
export declare const AnonymousLifetimeAnnotation = "<'_>";
|
|
4
|
+
/** a module to emit */
|
|
5
|
+
export interface Module {
|
|
6
|
+
/** the name of the module */
|
|
7
|
+
readonly name: string;
|
|
8
|
+
/** the contents of the module */
|
|
9
|
+
readonly content: string;
|
|
10
|
+
}
|
|
4
11
|
/**
|
|
5
12
|
* returns the content preamble common to all emitted files
|
|
6
13
|
*
|
|
@@ -17,12 +24,12 @@ export declare function contentPreamble(): string;
|
|
|
17
24
|
*/
|
|
18
25
|
export declare function formatDocComment(docs: rust.Docs, prefix?: string, indent?: indentation): string;
|
|
19
26
|
/**
|
|
20
|
-
* returns
|
|
27
|
+
* returns the specified visibility prefix
|
|
21
28
|
*
|
|
22
|
-
* @param
|
|
23
|
-
* @returns the prefix
|
|
29
|
+
* @param visibility the visibility to evaluate
|
|
30
|
+
* @returns the prefix
|
|
24
31
|
*/
|
|
25
|
-
export declare function
|
|
32
|
+
export declare function emitVisibility(visibility: rust.Visibility): string;
|
|
26
33
|
/**
|
|
27
34
|
* returns the type declaration string for the specified Rust type
|
|
28
35
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/codegen/helpers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/codegen/helpers.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,IAAI,MAAM,uBAAuB,CAAC;AAS9C,eAAO,MAAM,uBAAuB,wBAAwB,CAAC;AAE7D,eAAO,MAAM,2BAA2B,SAAU,CAAC;AAEnD,uBAAuB;AACvB,MAAM,WAAW,MAAM;IACrB,6BAA6B;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,iCAAiC;IACjC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;;;GAIG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,MAAM,CAoE/F;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,GAAG,MAAM,CAOlE;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,qBAAqB,UAAQ,GAAG,MAAM,CAwEvG;AAKD,6CAA6C;AAC7C,qBAAa,WAAW;IACtB,OAAO,CAAC,KAAK,CAAS;gBACV,KAAK,CAAC,EAAE,MAAM;IAS1B;;;;OAIG;IACH,GAAG,IAAI,MAAM;IAQb;;;;OAIG;IACH,IAAI,IAAI,WAAW;IAKnB;;;;OAIG;IACH,GAAG,IAAI,WAAW;CAOnB;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,CAOhE;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,GAAG,MAAM,CAE5E;AAED,sCAAsC;AACtC,MAAM,WAAW,OAAO;IACtB,oCAAoC;IACpC,SAAS,EAAE,MAAM,CAAC;IAElB,+BAA+B;IAC/B,IAAI,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,MAAM,CAAC;CACvC;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CAK1E;AAED,mCAAmC;AACnC,MAAM,WAAW,QAAQ;IACvB,gCAAgC;IAChC,OAAO,EAAE,MAAM,CAAC;IAEhB,8CAA8C;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,iCAAiC;IACjC,IAAI,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,MAAM,CAAC;CACvC;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,MAAM,CAa3F;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE9C;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAKvD;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAUrD"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
4
4
|
*--------------------------------------------------------------------------------------------*/
|
|
5
5
|
import * as codegen from '@azure-tools/codegen';
|
|
6
|
+
import { values } from '@azure-tools/linq';
|
|
6
7
|
const headerText = `// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
7
8
|
//
|
|
8
9
|
// Licensed under the MIT License. See License.txt in the project root for license information.
|
|
@@ -35,13 +36,47 @@ export function formatDocComment(docs, prefix, indent) {
|
|
|
35
36
|
if (indent) {
|
|
36
37
|
indentLevel = indent.get();
|
|
37
38
|
}
|
|
39
|
+
const commentLines = function (docs) {
|
|
40
|
+
let commentedLines = '';
|
|
41
|
+
const lines = docs.split('\n');
|
|
42
|
+
for (const line of lines) {
|
|
43
|
+
if (line === '' || line.match(/^\s+$/)) {
|
|
44
|
+
// "something something\n\nsomething else" becomes:
|
|
45
|
+
// /// something something
|
|
46
|
+
// ///
|
|
47
|
+
// /// something else
|
|
48
|
+
commentedLines += `${indentLevel}///\n`;
|
|
49
|
+
continue;
|
|
50
|
+
}
|
|
51
|
+
// first create the comment block. note that it can be multi-line depending on length:
|
|
52
|
+
//
|
|
53
|
+
// * foo - some comment first line
|
|
54
|
+
// and it finishes here.
|
|
55
|
+
let formattedLine = codegen.comment(line.trim(), `${indentLevel}/// `, undefined, 120);
|
|
56
|
+
// transform the above to look like this:
|
|
57
|
+
//
|
|
58
|
+
// * foo - some comment first line
|
|
59
|
+
// and it finishes here.
|
|
60
|
+
const blockStartMatch = formattedLine.match(/^\/\/\/\s+([*-]|(?:\d+\.))/);
|
|
61
|
+
if (blockStartMatch && values(formattedLine).where((c) => c === '\n').count() > 0) {
|
|
62
|
+
const chunks = formattedLine.split('\n');
|
|
63
|
+
for (let i = 1; i < chunks.length; ++i) {
|
|
64
|
+
// indent size is based on the size of the captured starting block minus 3 for the /// chars
|
|
65
|
+
chunks[i] = chunks[i].replace('/// ', `/// ${' '.repeat(blockStartMatch[0].length - 3)}`);
|
|
66
|
+
}
|
|
67
|
+
formattedLine = chunks.join('\n');
|
|
68
|
+
}
|
|
69
|
+
commentedLines += formattedLine + '\n';
|
|
70
|
+
}
|
|
71
|
+
return commentedLines;
|
|
72
|
+
};
|
|
38
73
|
let docStr = '';
|
|
39
74
|
if (docs.summary) {
|
|
40
75
|
let summary = docs.summary;
|
|
41
76
|
if (prefix) {
|
|
42
77
|
summary = `${prefix}${summary}`;
|
|
43
78
|
}
|
|
44
|
-
docStr =
|
|
79
|
+
docStr = commentLines(summary);
|
|
45
80
|
}
|
|
46
81
|
if (docs.description) {
|
|
47
82
|
let description = docs.description;
|
|
@@ -52,18 +87,23 @@ export function formatDocComment(docs, prefix, indent) {
|
|
|
52
87
|
// only apply the prefix to the description if there was no summary
|
|
53
88
|
description = `${prefix}${description}`;
|
|
54
89
|
}
|
|
55
|
-
docStr +=
|
|
90
|
+
docStr += commentLines(description);
|
|
56
91
|
}
|
|
57
92
|
return docStr;
|
|
58
93
|
}
|
|
59
94
|
/**
|
|
60
|
-
* returns
|
|
95
|
+
* returns the specified visibility prefix
|
|
61
96
|
*
|
|
62
|
-
* @param
|
|
63
|
-
* @returns the prefix
|
|
97
|
+
* @param visibility the visibility to evaluate
|
|
98
|
+
* @returns the prefix
|
|
64
99
|
*/
|
|
65
|
-
export function
|
|
66
|
-
|
|
100
|
+
export function emitVisibility(visibility) {
|
|
101
|
+
switch (visibility) {
|
|
102
|
+
case 'pub':
|
|
103
|
+
return 'pub ';
|
|
104
|
+
case 'pubCrate':
|
|
105
|
+
return 'pub(crate) ';
|
|
106
|
+
}
|
|
67
107
|
}
|
|
68
108
|
/**
|
|
69
109
|
* returns the type declaration string for the specified Rust type
|
|
@@ -142,8 +182,8 @@ export function getTypeDeclaration(type, withAnonymousLifetime = false) {
|
|
|
142
182
|
return `${type.name}${getGenericLifetimeAnnotation(type.lifetime)}`;
|
|
143
183
|
case 'unit':
|
|
144
184
|
return '()';
|
|
145
|
-
case '
|
|
146
|
-
return
|
|
185
|
+
case 'Vec':
|
|
186
|
+
return `${type.kind}<${getTypeDeclaration(type.type, withAnonymousLifetime)}>`;
|
|
147
187
|
}
|
|
148
188
|
}
|
|
149
189
|
// four spaces per indent level
|
|
@@ -294,7 +334,7 @@ export function unwrapType(type) {
|
|
|
294
334
|
case 'arc':
|
|
295
335
|
case 'option':
|
|
296
336
|
case 'hashmap':
|
|
297
|
-
case '
|
|
337
|
+
case 'Vec':
|
|
298
338
|
return unwrapType(type.type);
|
|
299
339
|
default:
|
|
300
340
|
return type;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/codegen/helpers.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAE/F,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/codegen/helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
import * as rust from '../codemodel/index.js';
|
|
2
1
|
/**
|
|
3
2
|
* emits the contents of the lib.rs file
|
|
4
3
|
*
|
|
5
|
-
* @param crate the crate for which to emit a lib.rs file
|
|
6
|
-
* @param existingLibRs contents of preexisting lib.rs file
|
|
7
4
|
* @returns the contents of the lib.rs file
|
|
8
5
|
*/
|
|
9
|
-
export declare function emitLibRs(
|
|
6
|
+
export declare function emitLibRs(): string;
|
|
10
7
|
//# sourceMappingURL=lib.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../../src/codegen/lib.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../../src/codegen/lib.ts"],"names":[],"mappings":"AAOA;;;;GAIG;AACH,wBAAgB,SAAS,IAAI,MAAM,CAKlC"}
|
package/dist/src/codegen/lib.js
CHANGED
|
@@ -3,110 +3,15 @@
|
|
|
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
|
-
const beginDelimiter = '// BEGIN GENERATED CODE -- do not edit from here till END';
|
|
7
|
-
const endDelimiter = '// END GENERATED CODE';
|
|
8
6
|
/**
|
|
9
7
|
* emits the contents of the lib.rs file
|
|
10
8
|
*
|
|
11
|
-
* @param crate the crate for which to emit a lib.rs file
|
|
12
|
-
* @param existingLibRs contents of preexisting lib.rs file
|
|
13
9
|
* @returns the contents of the lib.rs file
|
|
14
10
|
*/
|
|
15
|
-
export function emitLibRs(
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
if (!existingLibRs || existingLibRs.indexOf(beginDelimiter) === -1) {
|
|
20
|
-
let content = helpers.contentPreamble();
|
|
21
|
-
content += generatedContent;
|
|
22
|
-
return content;
|
|
23
|
-
}
|
|
24
|
-
// need to merge the generated content with preexisting content. the
|
|
25
|
-
// algorithm is to preserve all content outside beginDelimiter and endDelimiter
|
|
26
|
-
const beginDelimiterPos = existingLibRs.indexOf(beginDelimiter);
|
|
27
|
-
const endDelimiterPos = existingLibRs.indexOf(endDelimiter);
|
|
28
|
-
let content = existingLibRs.substring(0, beginDelimiterPos);
|
|
29
|
-
content += generatedContent;
|
|
30
|
-
// the + 1 is for the traililng \n
|
|
31
|
-
content += existingLibRs.substring(endDelimiterPos + endDelimiter.length + 1);
|
|
32
|
-
return content;
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* creates the generated content including the begin and end delimiters
|
|
36
|
-
*
|
|
37
|
-
* @param crate the crate for which to emit a lib.rs file
|
|
38
|
-
* @returns the generated content for lib.rs
|
|
39
|
-
*/
|
|
40
|
-
function getGeneratedContent(crate) {
|
|
41
|
-
const indent = new helpers.indentation();
|
|
42
|
-
// DO NOT emit any content before beginDelimiter!!
|
|
43
|
-
let content = beginDelimiter;
|
|
44
|
-
content += '\nmod generated;\n\n';
|
|
45
|
-
if (crate.clients.length > 0) {
|
|
46
|
-
content += 'pub mod clients {\n';
|
|
47
|
-
// we want to reexport all clients and client options, not method_options
|
|
48
|
-
const clientsAndClientOptions = new Array();
|
|
49
|
-
for (const client of crate.clients) {
|
|
50
|
-
clientsAndClientOptions.push(client.name);
|
|
51
|
-
if (client.constructable) {
|
|
52
|
-
clientsAndClientOptions.push(client.constructable.options.type.name);
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
content += `${indent.get()}pub use crate::generated::clients::{${clientsAndClientOptions.join(', ')}};\n`;
|
|
56
|
-
content += '}\n\n';
|
|
57
|
-
}
|
|
58
|
-
// emit pub mod models section
|
|
59
|
-
let closeModels = false;
|
|
60
|
-
if (crate.clients.length > 0 || crate.enums.length > 0 || crate.models.length > 0) {
|
|
61
|
-
closeModels = true;
|
|
62
|
-
content += 'pub mod models {\n';
|
|
63
|
-
}
|
|
64
|
-
let needsHeaderTraits = false;
|
|
65
|
-
if (crate.clients.length > 0) {
|
|
66
|
-
// all client method options are reexported from models
|
|
67
|
-
content += `${indent.get()}pub use crate::generated::clients::method_options::{\n`;
|
|
68
|
-
indent.push();
|
|
69
|
-
for (const client of crate.clients) {
|
|
70
|
-
for (const method of client.methods) {
|
|
71
|
-
if (!method.pub || method.kind === 'clientaccessor') {
|
|
72
|
-
continue;
|
|
73
|
-
}
|
|
74
|
-
content += `${indent.get()}${method.options.type.name},\n`;
|
|
75
|
-
if (method.responseHeaders.length > 0) {
|
|
76
|
-
// at least one method has response headers, so export their traits
|
|
77
|
-
needsHeaderTraits = true;
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
indent.pop();
|
|
82
|
-
content += `${indent.get()}};\n`;
|
|
83
|
-
}
|
|
84
|
-
if (crate.enums.length > 0) {
|
|
85
|
-
content += `${indent.get()}pub use crate::generated::enums::*;\n`;
|
|
86
|
-
}
|
|
87
|
-
if (needsHeaderTraits) {
|
|
88
|
-
content += `${indent.get()}pub use crate::generated::header_traits::*;\n`;
|
|
89
|
-
}
|
|
90
|
-
if (crate.models.length > 0) {
|
|
91
|
-
content += `${indent.get()}pub use crate::generated::models::*;\n`;
|
|
92
|
-
}
|
|
93
|
-
if (closeModels) {
|
|
94
|
-
content += '}\n\n';
|
|
95
|
-
}
|
|
96
|
-
// end pub mod models section
|
|
97
|
-
// now reexport all instantiable clients and their client options types from the root
|
|
98
|
-
if (crate.clients.length > 0) {
|
|
99
|
-
const clientsAndClientOptions = new Array();
|
|
100
|
-
for (const client of crate.clients) {
|
|
101
|
-
if (client.constructable) {
|
|
102
|
-
clientsAndClientOptions.push(client.name);
|
|
103
|
-
clientsAndClientOptions.push(client.constructable.options.type.name);
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
content += `${indent.get()}pub use crate::generated::clients::{${clientsAndClientOptions.join(', ')}};\n`;
|
|
107
|
-
}
|
|
108
|
-
content += endDelimiter + '\n';
|
|
109
|
-
// DO NOT emit any content after endDelimiter!!
|
|
11
|
+
export function emitLibRs() {
|
|
12
|
+
let content = helpers.contentPreamble();
|
|
13
|
+
content += 'mod generated;\n';
|
|
14
|
+
content += 'pub use generated::*;\n';
|
|
110
15
|
return content;
|
|
111
16
|
}
|
|
112
17
|
//# sourceMappingURL=lib.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../../../src/codegen/lib.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAE/F,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../../../src/codegen/lib.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAE/F,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AAExC;;;;GAIG;AACH,MAAM,UAAU,SAAS;IACvB,IAAI,OAAO,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IACxC,OAAO,IAAI,kBAAkB,CAAC;IAC9B,OAAO,IAAI,yBAAyB,CAAC;IACrC,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -2,16 +2,22 @@ import * as rust from '../codemodel/index.js';
|
|
|
2
2
|
/**
|
|
3
3
|
* emits the contents of the clients/mod.rs file
|
|
4
4
|
*
|
|
5
|
-
* @param
|
|
6
|
-
* @param addlMods any additional modules to include
|
|
5
|
+
* @param modules the modules to include
|
|
7
6
|
* @returns the contents of the mod.rs file
|
|
8
7
|
*/
|
|
9
|
-
export declare function emitClientsModRs(
|
|
8
|
+
export declare function emitClientsModRs(modules: Array<string>): string;
|
|
10
9
|
/**
|
|
11
10
|
* emits the contents of the generated/mod.rs file
|
|
12
11
|
*
|
|
12
|
+
* @param crate the crate for which to emit the mod.rs file
|
|
13
|
+
* @returns the contents of the mod.rs file
|
|
14
|
+
*/
|
|
15
|
+
export declare function emitGeneratedModRs(crate: rust.Crate): string;
|
|
16
|
+
/**
|
|
17
|
+
* emits the contents of the models/mod.rs file
|
|
18
|
+
*
|
|
13
19
|
* @param modules the modules to include
|
|
14
20
|
* @returns the contents of the mod.rs file
|
|
15
21
|
*/
|
|
16
|
-
export declare function
|
|
22
|
+
export declare function emitModelsModRs(modules: Array<string>): string;
|
|
17
23
|
//# sourceMappingURL=mod.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../../src/codegen/mod.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../../src/codegen/mod.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,IAAI,MAAM,uBAAuB,CAAC;AAE9C;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,CAc/D;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,MAAM,CAuB5D;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,CAE9D"}
|
package/dist/src/codegen/mod.js
CHANGED
|
@@ -2,44 +2,61 @@
|
|
|
2
2
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
3
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
4
4
|
*--------------------------------------------------------------------------------------------*/
|
|
5
|
-
import * as codegen from '@azure-tools/codegen';
|
|
6
5
|
import * as helpers from './helpers.js';
|
|
7
6
|
/**
|
|
8
7
|
* emits the contents of the clients/mod.rs file
|
|
9
8
|
*
|
|
10
|
-
* @param
|
|
11
|
-
* @param addlMods any additional modules to include
|
|
9
|
+
* @param modules the modules to include
|
|
12
10
|
* @returns the contents of the mod.rs file
|
|
13
11
|
*/
|
|
14
|
-
export function emitClientsModRs(
|
|
15
|
-
const content = helpers.contentPreamble();
|
|
12
|
+
export function emitClientsModRs(modules) {
|
|
16
13
|
const body = new Array();
|
|
17
|
-
const modules = new Array();
|
|
18
14
|
// first add the modules for each client
|
|
19
|
-
for (const
|
|
20
|
-
|
|
21
|
-
body.push(`mod ${clientModule};`);
|
|
22
|
-
modules.push(clientModule);
|
|
23
|
-
}
|
|
24
|
-
// add module for method options
|
|
25
|
-
body.push('pub(crate) mod method_options;');
|
|
26
|
-
// add any additional mod entries
|
|
27
|
-
for (const addlMod of addlMods) {
|
|
28
|
-
body.push(`${addlMod};`);
|
|
15
|
+
for (const module of modules) {
|
|
16
|
+
body.push(`mod ${module};`);
|
|
29
17
|
}
|
|
30
18
|
// now add re-exports for each client module
|
|
31
19
|
for (const module of modules) {
|
|
32
20
|
body.push(`pub use ${module}::*;`);
|
|
33
21
|
}
|
|
34
|
-
return
|
|
22
|
+
return helpers.contentPreamble() + body.join('\n');
|
|
35
23
|
}
|
|
36
24
|
/**
|
|
37
25
|
* emits the contents of the generated/mod.rs file
|
|
38
26
|
*
|
|
27
|
+
* @param crate the crate for which to emit the mod.rs file
|
|
28
|
+
* @returns the contents of the mod.rs file
|
|
29
|
+
*/
|
|
30
|
+
export function emitGeneratedModRs(crate) {
|
|
31
|
+
let content = helpers.contentPreamble();
|
|
32
|
+
if (crate.clients.length > 0) {
|
|
33
|
+
content += 'pub mod clients;\n';
|
|
34
|
+
// client method options are in the models module
|
|
35
|
+
content += 'pub mod models;\n';
|
|
36
|
+
}
|
|
37
|
+
else if (crate.enums.length > 0 || crate.models.length > 0) {
|
|
38
|
+
content += 'pub mod models;\n';
|
|
39
|
+
}
|
|
40
|
+
if (crate.clients.length > 0) {
|
|
41
|
+
// the instantiable clients and their options types get re-exported from the root
|
|
42
|
+
const clientsAndClientOptions = new Array();
|
|
43
|
+
for (const client of crate.clients) {
|
|
44
|
+
if (client.constructable) {
|
|
45
|
+
clientsAndClientOptions.push(client.name);
|
|
46
|
+
clientsAndClientOptions.push(client.constructable.options.type.name);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
content += `pub use clients::{${clientsAndClientOptions.join(', ')}};\n`;
|
|
50
|
+
}
|
|
51
|
+
return content;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* emits the contents of the models/mod.rs file
|
|
55
|
+
*
|
|
39
56
|
* @param modules the modules to include
|
|
40
57
|
* @returns the contents of the mod.rs file
|
|
41
58
|
*/
|
|
42
|
-
export function
|
|
43
|
-
return helpers.contentPreamble() + modules.join(';\n') + ';\n';
|
|
59
|
+
export function emitModelsModRs(modules) {
|
|
60
|
+
return helpers.contentPreamble() + modules.sort().join(';\n') + ';\n';
|
|
44
61
|
}
|
|
45
62
|
//# sourceMappingURL=mod.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mod.js","sourceRoot":"","sources":["../../../src/codegen/mod.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAE/F,OAAO,KAAK,OAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"mod.js","sourceRoot":"","sources":["../../../src/codegen/mod.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAE/F,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AAGxC;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAsB;IACrD,MAAM,IAAI,GAAG,IAAI,KAAK,EAAU,CAAC;IAEjC,wCAAwC;IACxC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,OAAO,MAAM,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED,4CAA4C;IAC5C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,WAAW,MAAM,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,OAAO,OAAO,CAAC,eAAe,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAiB;IAClD,IAAI,OAAO,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IACxC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAI,oBAAoB,CAAC;QAChC,iDAAiD;QACjD,OAAO,IAAI,mBAAmB,CAAC;IACjC,CAAC;SAAM,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7D,OAAO,IAAI,mBAAmB,CAAC;IACjC,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,iFAAiF;QACjF,MAAM,uBAAuB,GAAG,IAAI,KAAK,EAAU,CAAC;QACpD,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YACnC,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;gBACzB,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC1C,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;QACD,OAAO,IAAI,qBAAqB,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IAC3E,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,OAAsB;IACpD,OAAO,OAAO,CAAC,eAAe,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;AACxE,CAAC"}
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import { Context } from './context.js';
|
|
2
|
+
import * as helpers from './helpers.js';
|
|
2
3
|
import * as rust from '../codemodel/index.js';
|
|
3
4
|
/** contains different types of models to emit */
|
|
4
5
|
export interface Models {
|
|
5
6
|
/** models that are part of public surface area */
|
|
6
|
-
public?:
|
|
7
|
+
public?: helpers.Module;
|
|
7
8
|
/** serde helpers for public models */
|
|
8
|
-
serde?:
|
|
9
|
+
serde?: helpers.Module;
|
|
9
10
|
/** models that are for internal use only */
|
|
10
|
-
internal?:
|
|
11
|
+
internal?: helpers.Module;
|
|
11
12
|
/** XML-specific helpers for internal use only */
|
|
12
|
-
xmlHelpers?:
|
|
13
|
+
xmlHelpers?: helpers.Module;
|
|
13
14
|
}
|
|
14
15
|
/**
|
|
15
16
|
* returns the emitted model types, or empty if the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../../src/codegen/models.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../../src/codegen/models.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AAExC,OAAO,KAAK,IAAI,MAAM,uBAAuB,CAAC;AAE9C,iDAAiD;AACjD,MAAM,WAAW,MAAM;IACrB,kDAAkD;IAClD,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC;IAExB,sCAAsC;IACtC,KAAK,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC;IAEvB,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC;IAE1B,iDAAiD;IACjD,UAAU,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC;CAC7B;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CAWtE"}
|