@azure-tools/typespec-rust 0.11.0 → 0.13.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 +45 -39
- 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/context.d.ts.map +1 -1
- package/dist/src/codegen/context.js +5 -4
- package/dist/src/codegen/context.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 +6 -3
- 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 +12 -9
- 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 +13 -8
- 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 +455 -48
- 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 +13 -11
- package/dist/src/codemodel/types.d.ts.map +1 -1
- package/dist/src/codemodel/types.js +20 -20
- 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 +3 -1
- package/dist/src/tcgcadapter/adapter.d.ts.map +1 -1
- package/dist/src/tcgcadapter/adapter.js +64 -50
- package/dist/src/tcgcadapter/adapter.js.map +1 -1
- package/package.json +23 -23
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../../../src/codegen/enums.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AAExC,OAAO,KAAK,IAAI,MAAM,uBAAuB,CAAC;AAE9C;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CA0DzF"}
|
|
@@ -18,13 +18,13 @@ export function emitEnums(crate, context) {
|
|
|
18
18
|
}
|
|
19
19
|
const use = new Use('models');
|
|
20
20
|
// note that create_extensible_enum uses create_enum, so it will always be used
|
|
21
|
-
use.addType('
|
|
21
|
+
use.addType('azure_core', 'create_enum');
|
|
22
22
|
const indent = new helpers.indentation();
|
|
23
23
|
let body = '';
|
|
24
24
|
for (const rustEnum of crate.enums) {
|
|
25
25
|
let enumType = 'create_enum';
|
|
26
26
|
if (rustEnum.extensible) {
|
|
27
|
-
use.addType('
|
|
27
|
+
use.addType('azure_core', 'create_extensible_enum');
|
|
28
28
|
enumType = 'create_extensible_enum';
|
|
29
29
|
}
|
|
30
30
|
body += `${enumType}!(\n`;
|
|
@@ -57,6 +57,9 @@ export function emitEnums(crate, context) {
|
|
|
57
57
|
let content = helpers.contentPreamble();
|
|
58
58
|
content += use.text();
|
|
59
59
|
content += body;
|
|
60
|
-
return
|
|
60
|
+
return {
|
|
61
|
+
name: 'enums',
|
|
62
|
+
content: content,
|
|
63
|
+
};
|
|
61
64
|
}
|
|
62
65
|
//# sourceMappingURL=enums.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../src/codegen/enums.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAG/F,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAG/B;;;;;;;GAOG;AACH,MAAM,UAAU,SAAS,CAAC,KAAiB,EAAE,OAAgB;IAC3D,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC9B,+EAA+E;IAC/E,GAAG,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../src/codegen/enums.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as helpers from './helpers.js';
|
|
1
2
|
import * as rust from '../codemodel/index.js';
|
|
2
3
|
/**
|
|
3
4
|
* returns the emitted header traits, or undefined if there
|
|
@@ -5,8 +6,7 @@ import * as rust from '../codemodel/index.js';
|
|
|
5
6
|
* the header traits provide access to typed response headers
|
|
6
7
|
*
|
|
7
8
|
* @param crate the crate for which to emit header traits
|
|
8
|
-
* @param context the context for the provided crate
|
|
9
9
|
* @returns the header traits content or undefined
|
|
10
10
|
*/
|
|
11
|
-
export declare function emitHeaderTraits(crate: rust.Crate):
|
|
11
|
+
export declare function emitHeaderTraits(crate: rust.Crate): helpers.Module | undefined;
|
|
12
12
|
//# sourceMappingURL=headerTraits.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"headerTraits.d.ts","sourceRoot":"","sources":["../../../src/codegen/headerTraits.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"headerTraits.d.ts","sourceRoot":"","sources":["../../../src/codegen/headerTraits.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AAExC,OAAO,KAAK,IAAI,MAAM,uBAAuB,CAAC;AAE9C;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CA2K9E"}
|
|
@@ -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) {
|
|
@@ -82,7 +81,7 @@ export function emitHeaderTraits(crate) {
|
|
|
82
81
|
}
|
|
83
82
|
traits.push({
|
|
84
83
|
name: traitName,
|
|
85
|
-
docs: `Provides access to typed response headers for [\`${client.name}::${method.name}()\`](crate::clients::${client.name}::${method.name}())`,
|
|
84
|
+
docs: `Provides access to typed response headers for [\`${client.name}::${method.name}()\`](crate::generated::clients::${client.name}::${method.name}())`,
|
|
86
85
|
headers: [...method.responseHeaders], // make a copy of the headers array
|
|
87
86
|
implFor: method.returns.type,
|
|
88
87
|
});
|
|
@@ -121,8 +120,9 @@ 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();
|
|
125
|
-
use.
|
|
123
|
+
const use = new Use('modelsOther');
|
|
124
|
+
use.addType('azure_core', 'Result');
|
|
125
|
+
use.addType('azure_core::http', 'headers::HeaderName');
|
|
126
126
|
const indent = new helpers.indentation();
|
|
127
127
|
let body = '';
|
|
128
128
|
for (const header of headers) {
|
|
@@ -158,7 +158,10 @@ export function emitHeaderTraits(crate) {
|
|
|
158
158
|
content += use.text();
|
|
159
159
|
content += body;
|
|
160
160
|
content += getSealedImpls(traits);
|
|
161
|
-
return
|
|
161
|
+
return {
|
|
162
|
+
name: 'header_traits',
|
|
163
|
+
content: content,
|
|
164
|
+
};
|
|
162
165
|
}
|
|
163
166
|
/**
|
|
164
167
|
* creates the name to use for a header constant
|
|
@@ -194,19 +197,19 @@ function getHeaderDeserialization(indent, use, header) {
|
|
|
194
197
|
content += 'Ok(values)\n';
|
|
195
198
|
return content;
|
|
196
199
|
}
|
|
200
|
+
use.addType('azure_core::http', 'headers::Headers');
|
|
197
201
|
switch (header.type.kind) {
|
|
198
202
|
case 'encodedBytes': {
|
|
199
|
-
use.
|
|
203
|
+
use.addType('azure_core', 'base64');
|
|
200
204
|
const decoder = header.type.encoding === 'std' ? 'decode' : 'decode_url_safe';
|
|
201
205
|
return `${indent.get()}Headers::get_optional_with(self.headers(), &${headerConstName}, |h| base64::${decoder}(h.as_str()))\n`;
|
|
202
206
|
}
|
|
203
207
|
case 'enum':
|
|
204
208
|
case 'scalar':
|
|
205
209
|
case 'String':
|
|
206
|
-
use.addType('azure_core', 'headers::Headers');
|
|
207
210
|
return `${indent.get()}Headers::get_optional_as(self.headers(), &${headerConstName})\n`;
|
|
208
211
|
case 'offsetDateTime': {
|
|
209
|
-
use.
|
|
212
|
+
use.addType('azure_core', 'date');
|
|
210
213
|
return `${indent.get()}Headers::get_optional_with(self.headers(), &${headerConstName}, |h| date::parse_${header.type.encoding}(h.as_str()))\n`;
|
|
211
214
|
}
|
|
212
215
|
default:
|
|
@@ -220,7 +223,7 @@ function getHeaderDeserialization(indent, use, header) {
|
|
|
220
223
|
* @returns the private mod definition
|
|
221
224
|
*/
|
|
222
225
|
function getSealedImpls(traitDefs) {
|
|
223
|
-
const use = new Use();
|
|
226
|
+
const use = new Use('modelsOther');
|
|
224
227
|
const indent = new helpers.indentation();
|
|
225
228
|
const implsFor = new Array();
|
|
226
229
|
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":"AAOA,OAAO,KAAK,IAAI,MAAM,uBAAuB,CAAC;AAS9C,eAAO,MAAM,uBAAuB,wBAAwB,CAAC;AAE7D,eAAO,MAAM,2BAA2B,SAAU,CAAC;AAEnD;;;;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,
|
|
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"}
|
|
@@ -92,13 +92,18 @@ export function formatDocComment(docs, prefix, indent) {
|
|
|
92
92
|
return docStr;
|
|
93
93
|
}
|
|
94
94
|
/**
|
|
95
|
-
* returns
|
|
95
|
+
* returns the specified visibility prefix
|
|
96
96
|
*
|
|
97
|
-
* @param
|
|
98
|
-
* @returns the prefix
|
|
97
|
+
* @param visibility the visibility to evaluate
|
|
98
|
+
* @returns the prefix
|
|
99
99
|
*/
|
|
100
|
-
export function
|
|
101
|
-
|
|
100
|
+
export function emitVisibility(visibility) {
|
|
101
|
+
switch (visibility) {
|
|
102
|
+
case 'pub':
|
|
103
|
+
return 'pub ';
|
|
104
|
+
case 'pubCrate':
|
|
105
|
+
return 'pub(crate) ';
|
|
106
|
+
}
|
|
102
107
|
}
|
|
103
108
|
/**
|
|
104
109
|
* returns the type declaration string for the specified Rust type
|
|
@@ -177,8 +182,8 @@ export function getTypeDeclaration(type, withAnonymousLifetime = false) {
|
|
|
177
182
|
return `${type.name}${getGenericLifetimeAnnotation(type.lifetime)}`;
|
|
178
183
|
case 'unit':
|
|
179
184
|
return '()';
|
|
180
|
-
case '
|
|
181
|
-
return
|
|
185
|
+
case 'Vec':
|
|
186
|
+
return `${type.kind}<${getTypeDeclaration(type.type, withAnonymousLifetime)}>`;
|
|
182
187
|
}
|
|
183
188
|
}
|
|
184
189
|
// four spaces per indent level
|
|
@@ -329,7 +334,7 @@ export function unwrapType(type) {
|
|
|
329
334
|
case 'arc':
|
|
330
335
|
case 'option':
|
|
331
336
|
case 'hashmap':
|
|
332
|
-
case '
|
|
337
|
+
case 'Vec':
|
|
333
338
|
return unwrapType(type.type);
|
|
334
339
|
default:
|
|
335
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;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAG3C,MAAM,UAAU,GAAG;;;;;CAKlB,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,qBAAqB,CAAC;AAE7D,MAAM,CAAC,MAAM,2BAA2B,GAAG,OAAO,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"}
|