@azure-tools/typespec-rust 0.24.1 → 0.26.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.map +1 -1
- package/dist/src/codegen/clients.js +185 -119
- package/dist/src/codegen/clients.js.map +1 -1
- package/dist/src/codegen/context.d.ts.map +1 -1
- package/dist/src/codegen/context.js +3 -1
- package/dist/src/codegen/context.js.map +1 -1
- package/dist/src/codegen/enums.d.ts +2 -2
- package/dist/src/codegen/enums.js +173 -26
- package/dist/src/codegen/enums.js.map +1 -1
- package/dist/src/codegen/helpers.d.ts +10 -0
- package/dist/src/codegen/helpers.d.ts.map +1 -1
- package/dist/src/codegen/helpers.js +30 -4
- package/dist/src/codegen/helpers.js.map +1 -1
- package/dist/src/codegen/models.js +28 -23
- package/dist/src/codegen/models.js.map +1 -1
- package/dist/src/codemodel/client.d.ts +10 -8
- package/dist/src/codemodel/client.d.ts.map +1 -1
- package/dist/src/codemodel/client.js +1 -0
- package/dist/src/codemodel/client.js.map +1 -1
- package/dist/src/codemodel/crate.d.ts.map +1 -1
- package/dist/src/codemodel/crate.js +5 -2
- package/dist/src/codemodel/crate.js.map +1 -1
- package/dist/src/codemodel/types.d.ts +10 -13
- package/dist/src/codemodel/types.d.ts.map +1 -1
- package/dist/src/codemodel/types.js +4 -8
- package/dist/src/codemodel/types.js.map +1 -1
- package/dist/src/shared/shared.d.ts.map +1 -1
- package/dist/src/shared/shared.js +4 -1
- package/dist/src/shared/shared.js.map +1 -1
- package/dist/src/tcgcadapter/adapter.d.ts +9 -1
- package/dist/src/tcgcadapter/adapter.d.ts.map +1 -1
- package/dist/src/tcgcadapter/adapter.js +147 -79
- package/dist/src/tcgcadapter/adapter.js.map +1 -1
- package/package.json +8 -8
|
@@ -5,12 +5,12 @@
|
|
|
5
5
|
import * as helpers from './helpers.js';
|
|
6
6
|
import { Use } from './use.js';
|
|
7
7
|
/**
|
|
8
|
-
* returns the emitted enum types, or
|
|
8
|
+
* returns the emitted enum types, or empty if the
|
|
9
9
|
* crate contains no enum types.
|
|
10
10
|
*
|
|
11
11
|
* @param crate the crate for which to emit enums
|
|
12
12
|
* @param context the context for the provided crate
|
|
13
|
-
* @returns the enum models or
|
|
13
|
+
* @returns the enum models or empty
|
|
14
14
|
*/
|
|
15
15
|
export function emitEnums(crate, context) {
|
|
16
16
|
if (crate.enums.length === 0) {
|
|
@@ -22,27 +22,37 @@ export function emitEnums(crate, context) {
|
|
|
22
22
|
impls: emitEnumsImpls(crate, context),
|
|
23
23
|
};
|
|
24
24
|
}
|
|
25
|
+
/**
|
|
26
|
+
* emits the public definitions for enums
|
|
27
|
+
*
|
|
28
|
+
* @param crate the crate for which to emit enums
|
|
29
|
+
* @returns the public enum definitions
|
|
30
|
+
*/
|
|
25
31
|
function emitEnumsPublic(crate) {
|
|
26
|
-
const use = new Use('models');
|
|
27
32
|
const indent = new helpers.indentation();
|
|
28
33
|
let body = '';
|
|
29
34
|
for (const rustEnum of crate.enums) {
|
|
30
|
-
body += emitEnumPublicDefinitions(
|
|
35
|
+
body += emitEnumPublicDefinitions(indent, rustEnum);
|
|
31
36
|
}
|
|
32
37
|
let content = helpers.contentPreamble();
|
|
33
|
-
content += use.text();
|
|
34
38
|
content += body;
|
|
35
39
|
return {
|
|
36
40
|
name: 'enums',
|
|
37
41
|
content: content,
|
|
38
42
|
};
|
|
39
43
|
}
|
|
44
|
+
/**
|
|
45
|
+
* emits the serde helpers for enums
|
|
46
|
+
*
|
|
47
|
+
* @param crate the crate for which to emit serde helpers
|
|
48
|
+
* @returns the enum serde helpers
|
|
49
|
+
*/
|
|
40
50
|
function emitEnumsSerde(crate) {
|
|
41
|
-
const use = new Use('
|
|
51
|
+
const use = new Use('modelsOther');
|
|
42
52
|
const indent = new helpers.indentation();
|
|
43
53
|
let body = '';
|
|
44
54
|
for (const rustEnum of crate.enums) {
|
|
45
|
-
body += emitEnumSerdeDefinitions(use, rustEnum
|
|
55
|
+
body += emitEnumSerdeDefinitions(indent, use, rustEnum);
|
|
46
56
|
}
|
|
47
57
|
let content = helpers.contentPreamble();
|
|
48
58
|
content += use.text();
|
|
@@ -52,13 +62,20 @@ function emitEnumsSerde(crate) {
|
|
|
52
62
|
content: content,
|
|
53
63
|
};
|
|
54
64
|
}
|
|
65
|
+
/**
|
|
66
|
+
* emits the trait impls for enums
|
|
67
|
+
*
|
|
68
|
+
* @param crate the crate for which to emit trait impls
|
|
69
|
+
* @param context the context for the provided crate
|
|
70
|
+
* @returns the enum trait impls
|
|
71
|
+
*/
|
|
55
72
|
function emitEnumsImpls(crate, context) {
|
|
56
73
|
var _a;
|
|
57
|
-
const use = new Use('
|
|
74
|
+
const use = new Use('modelsOther');
|
|
58
75
|
const indent = new helpers.indentation();
|
|
59
76
|
let body = '';
|
|
60
77
|
for (const rustEnum of crate.enums) {
|
|
61
|
-
body += emitEnumImplDefinitions(use, rustEnum
|
|
78
|
+
body += emitEnumImplDefinitions(indent, use, rustEnum);
|
|
62
79
|
}
|
|
63
80
|
// emit impls as required
|
|
64
81
|
for (const rustEnum of crate.enums) {
|
|
@@ -72,18 +89,22 @@ function emitEnumsImpls(crate, context) {
|
|
|
72
89
|
content: content,
|
|
73
90
|
};
|
|
74
91
|
}
|
|
75
|
-
|
|
92
|
+
/**
|
|
93
|
+
* emits the public enum definitions
|
|
94
|
+
*
|
|
95
|
+
* @param indent the indentation helper currently in scope
|
|
96
|
+
* @param rustEnum the enum for which to emit the public definition
|
|
97
|
+
* @returns the public definition text
|
|
98
|
+
*/
|
|
99
|
+
function emitEnumPublicDefinitions(indent, rustEnum) {
|
|
76
100
|
let body = '';
|
|
77
101
|
// The formatDocComment function adds a trailing \n we don't want.
|
|
78
102
|
const docs = helpers.formatDocComment(rustEnum.docs, false);
|
|
79
103
|
if (docs.length > 0) {
|
|
80
104
|
body += indent.get() + `${docs.substring(0, docs.length - 1)}\n`;
|
|
81
105
|
}
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
body += ', Copy';
|
|
85
|
-
}
|
|
86
|
-
body += `)]\n`;
|
|
106
|
+
// extensible enums that are numeric can derive Copy
|
|
107
|
+
body += indent.get() + `#[derive(Clone, ${rustEnum.extensible && rustEnum.type === 'String' ? '' : 'Copy, '}Debug, Eq, PartialEq)]\n`;
|
|
87
108
|
body += indent.get() + `#[non_exhaustive]\n`;
|
|
88
109
|
body += indent.get() + `pub enum ${rustEnum.name} {\n`;
|
|
89
110
|
indent.push();
|
|
@@ -97,15 +118,36 @@ function emitEnumPublicDefinitions(use, rustEnum, indent) {
|
|
|
97
118
|
body += '\n';
|
|
98
119
|
if (rustEnum.extensible && i + 1 === rustEnum.values.length) {
|
|
99
120
|
body += indent.get() + `/// Any other value not defined in \`${rustEnum.name}\`.\n`;
|
|
100
|
-
body += indent.get() + `UnknownValue(
|
|
121
|
+
body += indent.get() + `UnknownValue(${rustEnum.type}),\n`;
|
|
101
122
|
}
|
|
102
123
|
}
|
|
103
124
|
body += indent.pop().get() + '}\n\n';
|
|
104
125
|
return body;
|
|
105
126
|
}
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
127
|
+
/**
|
|
128
|
+
* emits various trait impls for an enum
|
|
129
|
+
*
|
|
130
|
+
* @param indent the indentation helper currently in scope
|
|
131
|
+
* @param use the use statement builder currently in scope
|
|
132
|
+
* @param rustEnum the enum for which to emit trait impls
|
|
133
|
+
* @returns the trait impls text
|
|
134
|
+
*/
|
|
135
|
+
function emitEnumImplDefinitions(indent, use, rustEnum) {
|
|
136
|
+
use.addForType(rustEnum);
|
|
137
|
+
if (rustEnum.type === 'String') {
|
|
138
|
+
return emitStringEnumImplDefinitions(indent, use, rustEnum);
|
|
139
|
+
}
|
|
140
|
+
return emitNumericEnumImplDefinitions(indent, use, rustEnum);
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* emits various trait impls for a string based enum
|
|
144
|
+
*
|
|
145
|
+
* @param indent the indentation helper currently in scope
|
|
146
|
+
* @param use the use statement builder currently in scope
|
|
147
|
+
* @param rustEnum the enum for which to emit trait impls
|
|
148
|
+
* @returns the trait impls text
|
|
149
|
+
*/
|
|
150
|
+
function emitStringEnumImplDefinitions(indent, use, rustEnum) {
|
|
109
151
|
let body = '';
|
|
110
152
|
if (rustEnum.extensible) {
|
|
111
153
|
use.add("std", "convert::From");
|
|
@@ -132,7 +174,7 @@ function emitEnumImplDefinitions(use, rustEnum, indent) {
|
|
|
132
174
|
body += indent.get() + `type Err = Infallible;\n`;
|
|
133
175
|
}
|
|
134
176
|
else {
|
|
135
|
-
use.add('azure_core', '
|
|
177
|
+
use.add('azure_core::error', 'Error', 'ErrorKind');
|
|
136
178
|
body += indent.get() + `type Err = Error;\n`;
|
|
137
179
|
}
|
|
138
180
|
body += indent.get() + `fn from_str(s: &str) -> ::core::result::Result<Self, <Self as FromStr>::Err> {\n`;
|
|
@@ -176,7 +218,7 @@ function emitEnumImplDefinitions(use, rustEnum, indent) {
|
|
|
176
218
|
body += indent.pop().get() + `}\n`; // end match
|
|
177
219
|
body += indent.pop().get() + `}\n`; // end fn
|
|
178
220
|
body += indent.pop().get() + `}\n\n`; // end impl
|
|
179
|
-
use.add("std", "
|
|
221
|
+
use.add("std::fmt", "Display", "Formatter");
|
|
180
222
|
body += indent.get() + `impl Display for ${rustEnum.name} {\n`;
|
|
181
223
|
indent.push();
|
|
182
224
|
body += indent.get() + `fn fmt(&self, f: &mut Formatter<'_>) -> ::std::fmt::Result {\n`;
|
|
@@ -200,8 +242,103 @@ function emitEnumImplDefinitions(use, rustEnum, indent) {
|
|
|
200
242
|
body += indent.pop().get() + `}\n\n`; // end impl
|
|
201
243
|
return body;
|
|
202
244
|
}
|
|
203
|
-
|
|
204
|
-
|
|
245
|
+
/**
|
|
246
|
+
* emits various trait impls for a numeric based enum
|
|
247
|
+
*
|
|
248
|
+
* @param indent the indentation helper currently in scope
|
|
249
|
+
* @param use the use statement builder currently in scope
|
|
250
|
+
* @param rustEnum the enum for which to emit trait impls
|
|
251
|
+
* @returns the trait impls text
|
|
252
|
+
*/
|
|
253
|
+
function emitNumericEnumImplDefinitions(indent, use, rustEnum) {
|
|
254
|
+
use.add('azure_core', 'error::Error');
|
|
255
|
+
let body = `impl TryFrom<${rustEnum.type}> for ${rustEnum.name} {\n`;
|
|
256
|
+
if (rustEnum.extensible) {
|
|
257
|
+
use.add('std', 'convert::Infallible');
|
|
258
|
+
body += `${indent.get()}type Error = Infallible;\n`;
|
|
259
|
+
}
|
|
260
|
+
else {
|
|
261
|
+
use.add('azure_core::error', 'Error', 'ErrorKind');
|
|
262
|
+
body += `${indent.get()}type Error = Error;\n`;
|
|
263
|
+
}
|
|
264
|
+
body += `${indent.get()}fn try_from(value: ${rustEnum.type}) -> Result<Self, Self::Error> {\n`;
|
|
265
|
+
body += `${indent.push().get()}${helpers.buildMatch(indent, 'value', (() => {
|
|
266
|
+
const matchArms = new Array();
|
|
267
|
+
for (const value of rustEnum.values) {
|
|
268
|
+
matchArms.push({
|
|
269
|
+
pattern: value.value.toString(),
|
|
270
|
+
body: (indent) => `${indent.get()}Ok(${rustEnum.name}::${value.name})\n`,
|
|
271
|
+
});
|
|
272
|
+
}
|
|
273
|
+
matchArms.push({
|
|
274
|
+
pattern: '_',
|
|
275
|
+
body: (indent) => {
|
|
276
|
+
if (rustEnum.extensible) {
|
|
277
|
+
return `${indent.get()}Ok(${rustEnum.name}::UnknownValue(value))\n`;
|
|
278
|
+
}
|
|
279
|
+
else {
|
|
280
|
+
use.add('azure_core', 'error::ErrorKind');
|
|
281
|
+
return `${indent.get()}Err(Error::with_message_fn(ErrorKind::DataConversion, || {format!("unknown variant of ${rustEnum.name} found: {value}")}))\n`;
|
|
282
|
+
}
|
|
283
|
+
},
|
|
284
|
+
});
|
|
285
|
+
return matchArms;
|
|
286
|
+
})())}\n`;
|
|
287
|
+
body += `${indent.pop().get()}}\n`; // end try_from
|
|
288
|
+
body += '}\n\n'; // end impl TryFrom
|
|
289
|
+
body += `impl From<${rustEnum.name}> for ${rustEnum.type} {\n`;
|
|
290
|
+
body += `${indent.get()}fn from(value: ${rustEnum.name}) -> Self {\n`;
|
|
291
|
+
body += `${indent.push().get()}${helpers.buildMatch(indent, 'value', (() => {
|
|
292
|
+
const matchArms = new Array();
|
|
293
|
+
for (const value of rustEnum.values) {
|
|
294
|
+
matchArms.push({
|
|
295
|
+
pattern: `${rustEnum.name}::${value.name}`,
|
|
296
|
+
body: (indent) => `${indent.get()}${value.value}\n`,
|
|
297
|
+
});
|
|
298
|
+
}
|
|
299
|
+
if (rustEnum.extensible) {
|
|
300
|
+
matchArms.push({
|
|
301
|
+
pattern: `${rustEnum.name}::UnknownValue(value)`,
|
|
302
|
+
body: (indent) => `${indent.get()}value\n`,
|
|
303
|
+
});
|
|
304
|
+
}
|
|
305
|
+
return matchArms;
|
|
306
|
+
})())}\n`;
|
|
307
|
+
body += `${indent.pop().get()}}\n`; // end from
|
|
308
|
+
body += '}\n\n'; // end impl From
|
|
309
|
+
use.add("std::fmt", "Display", "Formatter");
|
|
310
|
+
body += `impl Display for ${rustEnum.name} {\n`;
|
|
311
|
+
body += `${indent.get()}fn fmt(&self, f: &mut Formatter<'_>) -> ::std::fmt::Result {\n`;
|
|
312
|
+
body += `${indent.push().get()}${helpers.buildMatch(indent, 'self', (() => {
|
|
313
|
+
const matchArms = new Array();
|
|
314
|
+
for (const value of rustEnum.values) {
|
|
315
|
+
matchArms.push({
|
|
316
|
+
pattern: `${rustEnum.name}::${value.name}`,
|
|
317
|
+
body: (indent) => `${indent.get()}Display::fmt(&${value.value}, f)\n`,
|
|
318
|
+
});
|
|
319
|
+
}
|
|
320
|
+
if (rustEnum.extensible) {
|
|
321
|
+
matchArms.push({
|
|
322
|
+
pattern: `${rustEnum.name}::UnknownValue(value)`,
|
|
323
|
+
body: (indent) => `${indent.get()}Display::fmt(&value, f)\n`,
|
|
324
|
+
});
|
|
325
|
+
}
|
|
326
|
+
return matchArms;
|
|
327
|
+
})())}\n`;
|
|
328
|
+
body += `${indent.pop().get()}}\n`; // end fmt
|
|
329
|
+
body += '}\n\n'; // end impl display
|
|
330
|
+
return body;
|
|
331
|
+
}
|
|
332
|
+
/**
|
|
333
|
+
* emits the serde helper definitions for an enum
|
|
334
|
+
*
|
|
335
|
+
* @param indent the indentation helper currently in scope
|
|
336
|
+
* @param use the use statement builder currently in scope
|
|
337
|
+
* @param rustEnum the enum for which to emit the serde helpers
|
|
338
|
+
* @returns the serde helpers text
|
|
339
|
+
*/
|
|
340
|
+
function emitEnumSerdeDefinitions(indent, use, rustEnum) {
|
|
341
|
+
use.addForType(rustEnum);
|
|
205
342
|
use.add('serde', 'Deserialize', 'Serialize', 'Serializer', 'Deserializer');
|
|
206
343
|
let body = '';
|
|
207
344
|
body += indent.get() + `impl<'de> Deserialize<'de> for ${rustEnum.name} {\n`;
|
|
@@ -211,8 +348,13 @@ function emitEnumSerdeDefinitions(use, rustEnum, indent) {
|
|
|
211
348
|
body += indent.get() + `D: Deserializer<'de>,\n`;
|
|
212
349
|
body += indent.get() + `{\n`;
|
|
213
350
|
indent.push();
|
|
214
|
-
|
|
215
|
-
|
|
351
|
+
if (rustEnum.type === 'String') {
|
|
352
|
+
body += indent.get() + `let s = String::deserialize(deserializer)?;\n`;
|
|
353
|
+
body += indent.get() + `s.parse().map_err(serde::de::Error::custom)\n`;
|
|
354
|
+
}
|
|
355
|
+
else {
|
|
356
|
+
body += indent.get() + `${rustEnum.type}::deserialize(deserializer)?.try_into().map_err(serde::de::Error::custom)\n`;
|
|
357
|
+
}
|
|
216
358
|
body += indent.pop().get() + `}\n`; // end fn
|
|
217
359
|
body += indent.pop().get() + `}\n\n`; // end impl
|
|
218
360
|
body += indent.get() + `impl Serialize for ${rustEnum.name} {\n`;
|
|
@@ -222,7 +364,12 @@ function emitEnumSerdeDefinitions(use, rustEnum, indent) {
|
|
|
222
364
|
body += indent.get() + `S: Serializer,\n`;
|
|
223
365
|
body += indent.get() + `{\n`;
|
|
224
366
|
indent.push();
|
|
225
|
-
|
|
367
|
+
if (rustEnum.type === 'String') {
|
|
368
|
+
body += indent.get() + `s.serialize_str(self.as_ref())\n`;
|
|
369
|
+
}
|
|
370
|
+
else {
|
|
371
|
+
body += indent.get() + `s.serialize_${rustEnum.type}(${rustEnum.type}::from(*self))\n`;
|
|
372
|
+
}
|
|
226
373
|
body += indent.pop().get() + `}\n`; // end fn
|
|
227
374
|
body += indent.pop().get() + `}\n\n`; // end impl
|
|
228
375
|
return body;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../src/codegen/enums.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../src/codegen/enums.ts"],"names":[],"mappings":"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"}
|
|
@@ -206,4 +206,14 @@ export declare function wrapInBackTicks(value: string): string;
|
|
|
206
206
|
* @returns a string of back tick characters
|
|
207
207
|
*/
|
|
208
208
|
export declare function emitBackTicks(count: number): string;
|
|
209
|
+
/**
|
|
210
|
+
* returns a variable name that's unique with respect to the provided parameters.
|
|
211
|
+
* the candidates are selected in ascending order. if all candidates collide then
|
|
212
|
+
* the last candidate is selected and a number appended to the end (e.g. candidate_N).
|
|
213
|
+
*
|
|
214
|
+
* @param params the parameters in the method
|
|
215
|
+
* @param candidates the candidate names in ascending order
|
|
216
|
+
* @returns one of candidates or the last candidate with a suffix
|
|
217
|
+
*/
|
|
218
|
+
export declare function getUniqueVarName(params: Array<rust.MethodParameter>, candidates: Array<string>): string;
|
|
209
219
|
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/codegen/helpers.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,KAAK,IAAI,MAAM,uBAAuB,CAAC;AAO9C,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;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,UAAU,GAAE,OAAc,GAAG,MAAM,CAElE;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,UAAQ,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,MAAM,CA0EnH;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,GAAG,MAAM,CAOlE;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,IAAI,EAAE,YAAY,GAAE,SAAS,GAAG,WAAW,GAAG,MAAkB,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/codegen/helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -152,11 +152,9 @@ export function getTypeDeclaration(type, withLifetime = 'default') {
|
|
|
152
152
|
return getTypeDeclaration(type.valueKind);
|
|
153
153
|
case 'option':
|
|
154
154
|
return `Option<${getTypeDeclaration(type.type, withLifetime)}>`;
|
|
155
|
-
case 'pageIterator':
|
|
156
|
-
return `PageIterator<${getTypeDeclaration(type.type)}>`;
|
|
157
155
|
case 'pager':
|
|
158
156
|
// we explicitly omit the Response<T> from the type decl
|
|
159
|
-
return `Pager<${getTypeDeclaration(type.type.content, withLifetime)}>`;
|
|
157
|
+
return `Pager<${getTypeDeclaration(type.type.content, withLifetime)}${type.type.format !== 'JsonFormat' ? `, ${type.type.format}` : ''}>`;
|
|
160
158
|
case 'poller':
|
|
161
159
|
// we explicitly omit the Response<T> from the type decl
|
|
162
160
|
return `Poller<${getTypeDeclaration(type.type.content, withLifetime)}>`;
|
|
@@ -396,7 +394,6 @@ export function unwrapType(type) {
|
|
|
396
394
|
case 'slice':
|
|
397
395
|
case 'Vec':
|
|
398
396
|
return unwrapType(type.type);
|
|
399
|
-
case 'pageIterator':
|
|
400
397
|
case 'pager':
|
|
401
398
|
return unwrapType(type.type.content);
|
|
402
399
|
case 'poller':
|
|
@@ -487,4 +484,33 @@ export function emitBackTicks(count) {
|
|
|
487
484
|
}
|
|
488
485
|
return backticks;
|
|
489
486
|
}
|
|
487
|
+
/**
|
|
488
|
+
* returns a variable name that's unique with respect to the provided parameters.
|
|
489
|
+
* the candidates are selected in ascending order. if all candidates collide then
|
|
490
|
+
* the last candidate is selected and a number appended to the end (e.g. candidate_N).
|
|
491
|
+
*
|
|
492
|
+
* @param params the parameters in the method
|
|
493
|
+
* @param candidates the candidate names in ascending order
|
|
494
|
+
* @returns one of candidates or the last candidate with a suffix
|
|
495
|
+
*/
|
|
496
|
+
export function getUniqueVarName(params, candidates) {
|
|
497
|
+
let i = 0;
|
|
498
|
+
while (true) {
|
|
499
|
+
// if all the candidates have been exhausted
|
|
500
|
+
// then append the count to the last one.
|
|
501
|
+
// we subtract the length to start at zero.
|
|
502
|
+
const candidate = i < candidates.length ? candidates[i] : `${candidates[candidates.length - 1]}_${i - candidates.length}`;
|
|
503
|
+
let collides = false;
|
|
504
|
+
for (const param of params) {
|
|
505
|
+
if (!param.optional && param.name === candidate) {
|
|
506
|
+
collides = true;
|
|
507
|
+
break;
|
|
508
|
+
}
|
|
509
|
+
}
|
|
510
|
+
if (!collides) {
|
|
511
|
+
return candidate;
|
|
512
|
+
}
|
|
513
|
+
++i;
|
|
514
|
+
}
|
|
515
|
+
}
|
|
490
516
|
//# sourceMappingURL=helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/codegen/helpers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/codegen/helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -101,7 +101,7 @@ function emitModelsInternal(crate, context, visibility) {
|
|
|
101
101
|
// XML wrapped lists are mutually exclusive. it's not a real scenario at present.
|
|
102
102
|
const unwrappedType = helpers.unwrapType(field.type);
|
|
103
103
|
if (unwrappedType.kind === 'encodedBytes' || unwrappedType.kind === 'literal' || unwrappedType.kind === 'offsetDateTime' || encodeAsString(unwrappedType)) {
|
|
104
|
-
|
|
104
|
+
addSerDeHelper(field, serdeParams, use);
|
|
105
105
|
}
|
|
106
106
|
else if (bodyFormat === 'xml' && shared.unwrapOption(field.type).kind === 'Vec' && field.xmlKind !== 'unwrappedList') {
|
|
107
107
|
// this is a wrapped list so we need a helper type for serde
|
|
@@ -111,6 +111,10 @@ function emitModelsInternal(crate, context, visibility) {
|
|
|
111
111
|
serdeParams.add(`serialize_with = "${xmlListWrapper.name}::wrap"`);
|
|
112
112
|
use.add('super::xml_helpers', xmlListWrapper.name);
|
|
113
113
|
}
|
|
114
|
+
else if ((field.flags & rust.ModelFieldFlags.DeserializeEmptyStringAsNone) === rust.ModelFieldFlags.DeserializeEmptyStringAsNone) {
|
|
115
|
+
use.add('azure_core::fmt', 'empty_as_null');
|
|
116
|
+
serdeParams.add(`deserialize_with = "empty_as_null::deserialize"`);
|
|
117
|
+
}
|
|
114
118
|
// TODO: omit skip_serializing_if if we need to send explicit JSON null
|
|
115
119
|
// https://github.com/Azure/typespec-rust/issues/78
|
|
116
120
|
if (field.type.kind === 'option') {
|
|
@@ -403,7 +407,7 @@ const serdeHelpersForXmlAddlProps = new Map();
|
|
|
403
407
|
* @param serdeParams the params that will be passed to the serde annotation
|
|
404
408
|
* @param use the use statement builder currently in scope
|
|
405
409
|
*/
|
|
406
|
-
function
|
|
410
|
+
function addSerDeHelper(field, serdeParams, use) {
|
|
407
411
|
const unwrapped = helpers.unwrapType(field.type);
|
|
408
412
|
switch (unwrapped.kind) {
|
|
409
413
|
case 'encodedBytes':
|
|
@@ -445,19 +449,30 @@ function getSerDeHelper(field, serdeParams, use) {
|
|
|
445
449
|
}
|
|
446
450
|
// we can reuse identical helpers across model types
|
|
447
451
|
if (!serdeHelpers.has(name)) {
|
|
448
|
-
serdeHelpers.set(name,
|
|
452
|
+
serdeHelpers.set(name, (indent) => {
|
|
453
|
+
const modUse = new Use('modelsOther');
|
|
454
|
+
let modContent = `pub mod ${name} {\n`;
|
|
455
|
+
modContent += `${indent.get()}#![allow(clippy::type_complexity)]\n`;
|
|
456
|
+
const deserialize = buildDeserialize(indent, field.type, modUse);
|
|
457
|
+
const serialize = buildSerialize(indent, field.type, modUse);
|
|
458
|
+
modContent += modUse.text(indent);
|
|
459
|
+
modContent += `${deserialize}\n${serialize}`;
|
|
460
|
+
modContent += '}\n\n'; // end pub mod
|
|
461
|
+
return modContent;
|
|
462
|
+
});
|
|
449
463
|
}
|
|
450
464
|
return name;
|
|
451
465
|
};
|
|
452
466
|
/** non-collection based impl */
|
|
453
|
-
const serdeEncodedBytes = function (encoding) {
|
|
467
|
+
const serdeEncodedBytes = function (encoding, forOption) {
|
|
454
468
|
const format = encoding === 'url' ? '_url_safe' : '';
|
|
455
469
|
const deserializer = `deserialize${format}`;
|
|
456
470
|
const serializer = `serialize${format}`;
|
|
457
471
|
serdeParams.add('default');
|
|
458
472
|
serdeParams.add(`deserialize_with = "${deserializer}"`);
|
|
459
473
|
serdeParams.add(`serialize_with = "${serializer}"`);
|
|
460
|
-
|
|
474
|
+
const optionNamespace = forOption ? '::option' : '';
|
|
475
|
+
use.add('azure_core', `base64${optionNamespace}::${deserializer}`, `base64${optionNamespace}::${serializer}`);
|
|
461
476
|
};
|
|
462
477
|
/** non-collection based impl */
|
|
463
478
|
const serdeOffsetDateTime = function (encoding, optional) {
|
|
@@ -480,14 +495,16 @@ function getSerDeHelper(field, serdeParams, use) {
|
|
|
480
495
|
serdeParams.add(`serialize_with = "models_serde::${name}"`);
|
|
481
496
|
// we can reuse identical helpers
|
|
482
497
|
if (!serdeHelpers.has(name)) {
|
|
483
|
-
serdeHelpers.set(name,
|
|
498
|
+
serdeHelpers.set(name, (indent, use) => {
|
|
499
|
+
return buildLiteralSerialize(indent, name, field, use);
|
|
500
|
+
});
|
|
484
501
|
use.add('super', 'models_serde');
|
|
485
502
|
}
|
|
486
503
|
};
|
|
487
504
|
// the first two cases are for spread params where the internal model's field isn't Option<T>
|
|
488
505
|
switch (field.type.kind) {
|
|
489
506
|
case 'encodedBytes':
|
|
490
|
-
return serdeEncodedBytes(unwrapped.encoding);
|
|
507
|
+
return serdeEncodedBytes(unwrapped.encoding, false);
|
|
491
508
|
case 'literal':
|
|
492
509
|
return serdeLiteral(field.type);
|
|
493
510
|
case 'offsetDateTime':
|
|
@@ -496,7 +513,7 @@ function getSerDeHelper(field, serdeParams, use) {
|
|
|
496
513
|
if (field.type.kind === 'option') {
|
|
497
514
|
switch (field.type.type.kind) {
|
|
498
515
|
case 'encodedBytes':
|
|
499
|
-
return serdeEncodedBytes(unwrapped.encoding);
|
|
516
|
+
return serdeEncodedBytes(unwrapped.encoding, true);
|
|
500
517
|
case 'literal':
|
|
501
518
|
return serdeLiteral(field.type.type);
|
|
502
519
|
case 'offsetDateTime':
|
|
@@ -539,20 +556,8 @@ function emitSerDeHelpers(use) {
|
|
|
539
556
|
const helperKeys = Array.from(serdeHelpers.keys()).sort();
|
|
540
557
|
for (const helperKey of helperKeys) {
|
|
541
558
|
const indent = new helpers.indentation();
|
|
542
|
-
const
|
|
543
|
-
|
|
544
|
-
content += buildLiteralSerialize(indent, helperKey, field, use);
|
|
545
|
-
continue;
|
|
546
|
-
}
|
|
547
|
-
const modUse = new Use('modelsOther');
|
|
548
|
-
let modContent = `pub mod ${helperKey} {\n`;
|
|
549
|
-
modContent += `${indent.get()}#![allow(clippy::type_complexity)]\n`;
|
|
550
|
-
const deserialize = buildDeserialize(indent, field.type, modUse);
|
|
551
|
-
const serialize = buildSerialize(indent, field.type, modUse);
|
|
552
|
-
modContent += modUse.text(indent);
|
|
553
|
-
modContent += `${deserialize}\n${serialize}`;
|
|
554
|
-
modContent += '}\n\n'; // end pub mod
|
|
555
|
-
content += modContent;
|
|
559
|
+
const helperContent = serdeHelpers.get(helperKey);
|
|
560
|
+
content += helperContent(indent, use);
|
|
556
561
|
}
|
|
557
562
|
return content;
|
|
558
563
|
}
|
|
@@ -568,7 +573,7 @@ function buildXmlAddlPropsDeserializeForModel(use, model, addlProps) {
|
|
|
568
573
|
let body = `impl<'de> Deserialize<'de> for ${model.name} {\n`;
|
|
569
574
|
const indent = new helpers.indentation();
|
|
570
575
|
body += `${indent.get()}fn deserialize<D>(deserializer: D) -> Result<Self, D::Error> where D: serde::Deserializer<'de> {\n`;
|
|
571
|
-
const visitorTypeName = `${codegen.pascalCase(addlProps.name)}Visitor`;
|
|
576
|
+
const visitorTypeName = `${codegen.pascalCase(addlProps.name, false)}Visitor`;
|
|
572
577
|
body += `${indent.push().get()}struct ${visitorTypeName};\n`;
|
|
573
578
|
body += `${indent.get()}impl<'de> serde::de::Visitor<'de> for ${visitorTypeName} {\n`;
|
|
574
579
|
body += `${indent.push().get()}type Value = ${model.name};\n`;
|