@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.
Files changed (34) hide show
  1. package/dist/src/codegen/clients.d.ts.map +1 -1
  2. package/dist/src/codegen/clients.js +185 -119
  3. package/dist/src/codegen/clients.js.map +1 -1
  4. package/dist/src/codegen/context.d.ts.map +1 -1
  5. package/dist/src/codegen/context.js +3 -1
  6. package/dist/src/codegen/context.js.map +1 -1
  7. package/dist/src/codegen/enums.d.ts +2 -2
  8. package/dist/src/codegen/enums.js +173 -26
  9. package/dist/src/codegen/enums.js.map +1 -1
  10. package/dist/src/codegen/helpers.d.ts +10 -0
  11. package/dist/src/codegen/helpers.d.ts.map +1 -1
  12. package/dist/src/codegen/helpers.js +30 -4
  13. package/dist/src/codegen/helpers.js.map +1 -1
  14. package/dist/src/codegen/models.js +28 -23
  15. package/dist/src/codegen/models.js.map +1 -1
  16. package/dist/src/codemodel/client.d.ts +10 -8
  17. package/dist/src/codemodel/client.d.ts.map +1 -1
  18. package/dist/src/codemodel/client.js +1 -0
  19. package/dist/src/codemodel/client.js.map +1 -1
  20. package/dist/src/codemodel/crate.d.ts.map +1 -1
  21. package/dist/src/codemodel/crate.js +5 -2
  22. package/dist/src/codemodel/crate.js.map +1 -1
  23. package/dist/src/codemodel/types.d.ts +10 -13
  24. package/dist/src/codemodel/types.d.ts.map +1 -1
  25. package/dist/src/codemodel/types.js +4 -8
  26. package/dist/src/codemodel/types.js.map +1 -1
  27. package/dist/src/shared/shared.d.ts.map +1 -1
  28. package/dist/src/shared/shared.js +4 -1
  29. package/dist/src/shared/shared.js.map +1 -1
  30. package/dist/src/tcgcadapter/adapter.d.ts +9 -1
  31. package/dist/src/tcgcadapter/adapter.d.ts.map +1 -1
  32. package/dist/src/tcgcadapter/adapter.js +147 -79
  33. package/dist/src/tcgcadapter/adapter.js.map +1 -1
  34. 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 undefined if the
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 undefined
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(use, rustEnum, indent);
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('models');
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, indent);
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('models');
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, indent);
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
- function emitEnumPublicDefinitions(use, rustEnum, indent) {
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
- body += indent.get() + `#[derive(Debug, PartialEq, Eq, Clone`;
83
- if (!rustEnum.extensible) {
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(String),\n`;
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
- function emitEnumImplDefinitions(use, rustEnum, indent) {
107
- // Now add conversions to and from &str, Display, Serialize, Deserialize
108
- use.add(`crate`, `models::${rustEnum.name}`);
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', 'error::Error', 'error::ErrorKind');
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", "fmt::Display", "fmt::Formatter");
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
- function emitEnumSerdeDefinitions(use, rustEnum, indent) {
204
- use.add(`crate`, `models::${rustEnum.name}`);
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
- body += indent.get() + `let s = String::deserialize(deserializer)?;\n`;
215
- body += indent.get() + `s.parse().map_err(serde::de::Error::custom)\n`;
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
- body += indent.get() + `s.serialize_str(self.as_ref())\n`;
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":"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"}
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
- getSerDeHelper(field, serdeParams, use);
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 getSerDeHelper(field, serdeParams, use) {
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, field);
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
- use.add('azure_core', `base64::${deserializer}`, `base64::${serializer}`);
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, field);
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 field = serdeHelpers.get(helperKey);
543
- if (shared.unwrapOption(field.type).kind === 'literal') {
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`;