@azure-tools/typespec-ts 0.48.0 → 0.48.1-alpha.20260127.1

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 (60) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/src/index.d.ts.map +1 -1
  3. package/dist/src/index.js +20 -5
  4. package/dist/src/index.js.map +1 -1
  5. package/dist/src/modular/buildClientContext.d.ts.map +1 -1
  6. package/dist/src/modular/buildClientContext.js +7 -3
  7. package/dist/src/modular/buildClientContext.js.map +1 -1
  8. package/dist/src/modular/buildOperations.d.ts.map +1 -1
  9. package/dist/src/modular/buildOperations.js +24 -3
  10. package/dist/src/modular/buildOperations.js.map +1 -1
  11. package/dist/src/modular/emitModels.d.ts.map +1 -1
  12. package/dist/src/modular/emitModels.js +19 -0
  13. package/dist/src/modular/emitModels.js.map +1 -1
  14. package/dist/src/modular/emitSamples.js +2 -2
  15. package/dist/src/modular/emitSamples.js.map +1 -1
  16. package/dist/src/modular/helpers/clientHelpers.d.ts +2 -1
  17. package/dist/src/modular/helpers/clientHelpers.d.ts.map +1 -1
  18. package/dist/src/modular/helpers/clientHelpers.js +5 -2
  19. package/dist/src/modular/helpers/clientHelpers.js.map +1 -1
  20. package/dist/src/modular/helpers/operationHelpers.d.ts.map +1 -1
  21. package/dist/src/modular/helpers/operationHelpers.js +266 -43
  22. package/dist/src/modular/helpers/operationHelpers.js.map +1 -1
  23. package/dist/src/modular/serialization/buildXmlSerializerFunction.d.ts +32 -0
  24. package/dist/src/modular/serialization/buildXmlSerializerFunction.d.ts.map +1 -0
  25. package/dist/src/modular/serialization/buildXmlSerializerFunction.js +373 -0
  26. package/dist/src/modular/serialization/buildXmlSerializerFunction.js.map +1 -0
  27. package/dist/src/modular/static-helpers-metadata.d.ts +57 -0
  28. package/dist/src/modular/static-helpers-metadata.d.ts.map +1 -1
  29. package/dist/src/modular/static-helpers-metadata.js +57 -0
  30. package/dist/src/modular/static-helpers-metadata.js.map +1 -1
  31. package/dist/src/utils/clientUtils.d.ts.map +1 -1
  32. package/dist/src/utils/clientUtils.js +1 -0
  33. package/dist/src/utils/clientUtils.js.map +1 -1
  34. package/dist/src/utils/mediaTypes.d.ts +4 -0
  35. package/dist/src/utils/mediaTypes.d.ts.map +1 -1
  36. package/dist/src/utils/mediaTypes.js +10 -0
  37. package/dist/src/utils/mediaTypes.js.map +1 -1
  38. package/dist/src/utils/modelUtils.d.ts.map +1 -1
  39. package/dist/src/utils/modelUtils.js +3 -0
  40. package/dist/src/utils/modelUtils.js.map +1 -1
  41. package/dist/src/utils/operationUtil.d.ts +12 -0
  42. package/dist/src/utils/operationUtil.d.ts.map +1 -1
  43. package/dist/src/utils/operationUtil.js +22 -1
  44. package/dist/src/utils/operationUtil.js.map +1 -1
  45. package/dist/tsconfig.tsbuildinfo +1 -1
  46. package/package.json +8 -7
  47. package/src/index.ts +20 -5
  48. package/src/modular/buildClientContext.ts +12 -5
  49. package/src/modular/buildOperations.ts +34 -3
  50. package/src/modular/emitModels.ts +43 -0
  51. package/src/modular/emitSamples.ts +2 -2
  52. package/src/modular/helpers/clientHelpers.ts +6 -2
  53. package/src/modular/helpers/operationHelpers.ts +377 -57
  54. package/src/modular/serialization/buildXmlSerializerFunction.ts +511 -0
  55. package/src/modular/static-helpers-metadata.ts +58 -0
  56. package/src/utils/clientUtils.ts +1 -0
  57. package/src/utils/mediaTypes.ts +12 -0
  58. package/src/utils/modelUtils.ts +3 -0
  59. package/src/utils/operationUtil.ts +34 -1
  60. package/static/static-helpers/serialization/xml-helpers.ts +596 -0
@@ -1 +1 @@
1
- {"version":3,"file":"operationHelpers.js","sourceRoot":"","sources":["../../../../src/modular/helpers/operationHelpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operationHelpers.js","sourceRoot":"","sources":["../../../../src/modular/helpers/operationHelpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import { FunctionDeclarationStructure } from "ts-morph";
2
+ import { SdkModelType, SdkPackage, SdkType } from "@azure-tools/typespec-client-generator-core";
3
+ import { SdkContext } from "../../utils/interfaces.js";
4
+ import { ModelSerializeOptions } from "./serializeUtils.js";
5
+ /**
6
+ * Checks if a model type has XML serialization options defined
7
+ */
8
+ export declare function hasXmlSerialization(type: SdkType): boolean;
9
+ /**
10
+ * Checks if any model in the SDK package uses XML serialization
11
+ */
12
+ export declare function packageUsesXmlSerialization(sdkPackage: SdkPackage<any>): boolean;
13
+ /**
14
+ * Gets the XML element name for a model type
15
+ */
16
+ export declare function getXmlRootName(type: SdkModelType): string;
17
+ /**
18
+ * Gets the XML namespace for a model type
19
+ */
20
+ export declare function getXmlRootNs(type: SdkModelType): {
21
+ namespace: string;
22
+ prefix: string;
23
+ } | undefined;
24
+ /**
25
+ * Builds an XML serializer function for a model type
26
+ */
27
+ export declare function buildXmlModelSerializer(context: SdkContext, type: SdkModelType, options?: ModelSerializeOptions): FunctionDeclarationStructure | string | undefined;
28
+ /**
29
+ * Builds an XML deserializer function for a model type
30
+ */
31
+ export declare function buildXmlModelDeserializer(context: SdkContext, type: SdkModelType, options?: ModelSerializeOptions): FunctionDeclarationStructure | string | undefined;
32
+ //# sourceMappingURL=buildXmlSerializerFunction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildXmlSerializerFunction.d.ts","sourceRoot":"","sources":["../../../../src/modular/serialization/buildXmlSerializerFunction.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,4BAA4B,EAAiB,MAAM,UAAU,CAAC;AACvE,OAAO,EAEL,YAAY,EACZ,UAAU,EACV,OAAO,EAER,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAQvD,OAAO,EAEL,qBAAqB,EACtB,MAAM,qBAAqB,CAAC;AAY7B;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAU1D;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,GAC1B,OAAO,CAOT;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,CAEzD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,YAAY,GACjB;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAEnD;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,UAAU,EACnB,IAAI,EAAE,YAAY,EAClB,OAAO,GAAE,qBAGR,GACA,4BAA4B,GAAG,MAAM,GAAG,SAAS,CAmFnD;AA4JD;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,UAAU,EACnB,IAAI,EAAE,YAAY,EAClB,OAAO,GAAE,qBAGR,GACA,4BAA4B,GAAG,MAAM,GAAG,SAAS,CAwFnD"}
@@ -0,0 +1,373 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+ import { StructureKind } from "ts-morph";
4
+ import { UsageFlags } from "@azure-tools/typespec-client-generator-core";
5
+ import { getAllAncestors, getAllProperties } from "../helpers/operationHelpers.js";
6
+ import { normalizeModelName } from "../emitModels.js";
7
+ import { NameType } from "@azure-tools/rlc-common";
8
+ import { isAzureCoreErrorType } from "../../utils/modelUtils.js";
9
+ import { isSupportedSerializeType } from "./serializeUtils.js";
10
+ import { XmlHelpers } from "../static-helpers-metadata.js";
11
+ import { resolveReference } from "../../framework/reference.js";
12
+ import { refkey } from "../../framework/refkey.js";
13
+ import { reportDiagnostic } from "../../lib.js";
14
+ import { NoTarget } from "@typespec/compiler";
15
+ import { isMetadata } from "@typespec/http";
16
+ import { normalizeModelPropertyName } from "../type-expressions/get-type-expression.js";
17
+ import { isReadOnly } from "@azure-tools/typespec-client-generator-core";
18
+ import { buildModelSerializer } from "./buildSerializerFunction.js";
19
+ import { buildModelDeserializer } from "./buildDeserializerFunction.js";
20
+ /**
21
+ * Checks if a model type has XML serialization options defined
22
+ */
23
+ export function hasXmlSerialization(type) {
24
+ var _a, _b, _c;
25
+ if (type.kind !== "model") {
26
+ return false;
27
+ }
28
+ // Check if the model itself has XML options
29
+ if ((_a = type.serializationOptions) === null || _a === void 0 ? void 0 : _a.xml) {
30
+ return true;
31
+ }
32
+ // Check if any property has XML options
33
+ return (_c = (_b = type.properties) === null || _b === void 0 ? void 0 : _b.some((p) => { var _a; return (_a = p.serializationOptions) === null || _a === void 0 ? void 0 : _a.xml; })) !== null && _c !== void 0 ? _c : false;
34
+ }
35
+ /**
36
+ * Checks if any model in the SDK package uses XML serialization
37
+ */
38
+ export function packageUsesXmlSerialization(sdkPackage) {
39
+ for (const model of sdkPackage.models) {
40
+ if (hasXmlSerialization(model)) {
41
+ return true;
42
+ }
43
+ }
44
+ return false;
45
+ }
46
+ /**
47
+ * Gets the XML element name for a model type
48
+ */
49
+ export function getXmlRootName(type) {
50
+ var _a, _b, _c;
51
+ return (_c = (_b = (_a = type.serializationOptions) === null || _a === void 0 ? void 0 : _a.xml) === null || _b === void 0 ? void 0 : _b.name) !== null && _c !== void 0 ? _c : type.name;
52
+ }
53
+ /**
54
+ * Gets the XML namespace for a model type
55
+ */
56
+ export function getXmlRootNs(type) {
57
+ var _a, _b;
58
+ return (_b = (_a = type.serializationOptions) === null || _a === void 0 ? void 0 : _a.xml) === null || _b === void 0 ? void 0 : _b.ns;
59
+ }
60
+ /**
61
+ * Builds an XML serializer function for a model type
62
+ */
63
+ export function buildXmlModelSerializer(context, type, options = {
64
+ nameOnly: false,
65
+ skipDiscriminatedUnionSuffix: false
66
+ }) {
67
+ var _a;
68
+ if (!isSupportedSerializeType(type)) {
69
+ return undefined;
70
+ }
71
+ if (!type.name) {
72
+ reportDiagnostic(context.program, {
73
+ code: "anonymous-type-serialization",
74
+ target: type.__raw || NoTarget
75
+ });
76
+ return undefined;
77
+ }
78
+ if (!type.usage ||
79
+ (type.usage !== undefined &&
80
+ (type.usage & UsageFlags.Input) !== UsageFlags.Input)) {
81
+ return undefined;
82
+ }
83
+ if (isAzureCoreErrorType(context.program, type.__raw)) {
84
+ return undefined;
85
+ }
86
+ const serializerFunctionName = (_a = options.predefinedName) !== null && _a !== void 0 ? _a : `${normalizeModelName(context, type, NameType.Operation, options.skipDiscriminatedUnionSuffix)}XmlSerializer`;
87
+ if (options.nameOnly) {
88
+ return resolveReference(refkey(type, "xmlSerializer"));
89
+ }
90
+ const serializeToXmlRef = resolveReference(XmlHelpers.serializeToXml);
91
+ const xmlPropertyMetadataRef = resolveReference(XmlHelpers.XmlPropertyMetadata);
92
+ const properties = getAllProperties(context, type, getAllAncestors(type));
93
+ const xmlRootName = getXmlRootName(type);
94
+ const xmlRootNs = getXmlRootNs(type);
95
+ // Build property metadata array
96
+ const propertyMetadata = buildPropertyMetadataArray(context, properties);
97
+ const statements = [];
98
+ // Generate the properties metadata constant
99
+ statements.push(`const properties: ${xmlPropertyMetadataRef}[] = [${propertyMetadata}];`);
100
+ // Generate the serialization call
101
+ if (xmlRootNs) {
102
+ statements.push(`return ${serializeToXmlRef}(item, properties, "${xmlRootName}", { namespace: "${xmlRootNs.namespace}", prefix: "${xmlRootNs.prefix}" });`);
103
+ }
104
+ else {
105
+ statements.push(`return ${serializeToXmlRef}(item, properties, "${xmlRootName}");`);
106
+ }
107
+ const serializerFunction = {
108
+ kind: StructureKind.Function,
109
+ name: serializerFunctionName,
110
+ isExported: true,
111
+ parameters: [
112
+ {
113
+ name: "item",
114
+ type: resolveReference(refkey(type))
115
+ }
116
+ ],
117
+ returnType: "string",
118
+ statements
119
+ };
120
+ return serializerFunction;
121
+ }
122
+ /**
123
+ * Builds the property metadata array for XML serialization
124
+ */
125
+ function buildPropertyMetadataArray(context, properties) {
126
+ var _a, _b, _c, _d;
127
+ const metadataEntries = [];
128
+ for (const property of properties) {
129
+ if (property.kind !== "property") {
130
+ continue;
131
+ }
132
+ if (isReadOnly(property)) {
133
+ continue;
134
+ }
135
+ if (isMetadata(context.program, property.__raw)) {
136
+ continue;
137
+ }
138
+ const xmlOptions = (_a = property.serializationOptions) === null || _a === void 0 ? void 0 : _a.xml;
139
+ const jsonOptions = (_b = property.serializationOptions) === null || _b === void 0 ? void 0 : _b.json;
140
+ const propertyName = normalizeModelPropertyName(context, property);
141
+ const cleanPropertyName = propertyName.replace(/^"|"$/g, "");
142
+ // Use XML name if available, fall back to JSON name, then property name
143
+ const serializedName = (_d = (_c = xmlOptions === null || xmlOptions === void 0 ? void 0 : xmlOptions.name) !== null && _c !== void 0 ? _c : jsonOptions === null || jsonOptions === void 0 ? void 0 : jsonOptions.name) !== null && _d !== void 0 ? _d : property.name;
144
+ const metadataObj = [
145
+ `propertyName: "${cleanPropertyName}"`,
146
+ `xmlOptions: { name: "${serializedName}"${buildXmlOptionsString(xmlOptions)} }`
147
+ ];
148
+ // Add type information for special handling
149
+ const typeInfo = getPropertyTypeInfo(property.type);
150
+ if (typeInfo.type) {
151
+ metadataObj.push(`type: "${typeInfo.type}"`);
152
+ }
153
+ if (typeInfo.dateEncoding) {
154
+ metadataObj.push(`dateEncoding: "${typeInfo.dateEncoding}"`);
155
+ }
156
+ // Add serializer for complex types
157
+ const nestedSerializer = getNestedXmlSerializer(context, property.type);
158
+ if (nestedSerializer) {
159
+ metadataObj.push(`serializer: ${nestedSerializer}`);
160
+ }
161
+ metadataEntries.push(`{ ${metadataObj.join(", ")} }`);
162
+ }
163
+ return metadataEntries.join(",\n ");
164
+ }
165
+ /**
166
+ * Builds the XML options string from XmlSerializationOptions
167
+ */
168
+ function buildXmlOptionsString(xmlOptions) {
169
+ if (!xmlOptions) {
170
+ return "";
171
+ }
172
+ const parts = [];
173
+ if (xmlOptions.attribute) {
174
+ parts.push(`attribute: true`);
175
+ }
176
+ if (xmlOptions.ns) {
177
+ parts.push(`ns: { namespace: "${xmlOptions.ns.namespace}", prefix: "${xmlOptions.ns.prefix}" }`);
178
+ }
179
+ if (xmlOptions.unwrapped) {
180
+ parts.push(`unwrapped: true`);
181
+ }
182
+ if (xmlOptions.itemsName) {
183
+ parts.push(`itemsName: "${xmlOptions.itemsName}"`);
184
+ }
185
+ if (xmlOptions.itemsNs) {
186
+ parts.push(`itemsNs: { namespace: "${xmlOptions.itemsNs.namespace}", prefix: "${xmlOptions.itemsNs.prefix}" }`);
187
+ }
188
+ return parts.length > 0 ? `, ${parts.join(", ")}` : "";
189
+ }
190
+ /**
191
+ * Gets type information for a property for XML serialization
192
+ */
193
+ function getPropertyTypeInfo(type) {
194
+ var _a;
195
+ switch (type.kind) {
196
+ case "array":
197
+ return { type: "array" };
198
+ case "model":
199
+ return { type: "object" };
200
+ case "dict":
201
+ return { type: "dict" };
202
+ case "utcDateTime":
203
+ return {
204
+ type: "date",
205
+ dateEncoding: (_a = type.encode) !== null && _a !== void 0 ? _a : "rfc3339"
206
+ };
207
+ case "bytes":
208
+ return { type: "bytes" };
209
+ default:
210
+ return { type: "primitive" };
211
+ }
212
+ }
213
+ /**
214
+ * Gets the nested XML serializer function reference for complex types
215
+ */
216
+ function getNestedXmlSerializer(context, type) {
217
+ if (type.kind === "model") {
218
+ // For nested objects, use the regular JSON serializer which returns objects
219
+ // The XML builder will convert these objects to XML elements
220
+ const serializerName = buildModelSerializer(context, type, {
221
+ nameOnly: true,
222
+ skipDiscriminatedUnionSuffix: false
223
+ });
224
+ if (typeof serializerName === "string") {
225
+ return serializerName;
226
+ }
227
+ }
228
+ if (type.kind === "array" && type.valueType.kind === "model") {
229
+ // For arrays, use the regular JSON serializer which returns objects
230
+ // The XML helper calls this for each item and handles the array mapping
231
+ const itemSerializer = buildModelSerializer(context, type.valueType, {
232
+ nameOnly: true,
233
+ skipDiscriminatedUnionSuffix: false
234
+ });
235
+ if (typeof itemSerializer === "string") {
236
+ return itemSerializer;
237
+ }
238
+ }
239
+ return undefined;
240
+ }
241
+ /**
242
+ * Builds an XML deserializer function for a model type
243
+ */
244
+ export function buildXmlModelDeserializer(context, type, options = {
245
+ nameOnly: false,
246
+ skipDiscriminatedUnionSuffix: false
247
+ }) {
248
+ var _a;
249
+ if (!isSupportedSerializeType(type)) {
250
+ return undefined;
251
+ }
252
+ if (!type.name) {
253
+ reportDiagnostic(context.program, {
254
+ code: "anonymous-type-deserialization",
255
+ target: type.__raw || NoTarget
256
+ });
257
+ return undefined;
258
+ }
259
+ if (!type.usage ||
260
+ (type.usage !== undefined &&
261
+ (type.usage & UsageFlags.Output) !== UsageFlags.Output &&
262
+ (type.usage & UsageFlags.Exception) !== UsageFlags.Exception)) {
263
+ return undefined;
264
+ }
265
+ if (isAzureCoreErrorType(context.program, type.__raw)) {
266
+ return undefined;
267
+ }
268
+ const deserializerFunctionName = (_a = options.predefinedName) !== null && _a !== void 0 ? _a : `${normalizeModelName(context, type, NameType.Operation, options.skipDiscriminatedUnionSuffix)}XmlDeserializer`;
269
+ if (options.nameOnly) {
270
+ return resolveReference(refkey(type, "xmlDeserializer"));
271
+ }
272
+ const deserializeFromXmlRef = resolveReference(XmlHelpers.deserializeFromXml);
273
+ const xmlPropertyDeserializeMetadataRef = resolveReference(XmlHelpers.XmlPropertyDeserializeMetadata);
274
+ const properties = getAllProperties(context, type, getAllAncestors(type));
275
+ const xmlRootName = getXmlRootName(type);
276
+ const xmlRootNs = getXmlRootNs(type);
277
+ // Build property metadata array for deserialization
278
+ const propertyMetadata = buildDeserializePropertyMetadataArray(context, properties);
279
+ const statements = [];
280
+ // Generate the properties metadata constant
281
+ statements.push(`const properties: ${xmlPropertyDeserializeMetadataRef}[] = [${propertyMetadata}];`);
282
+ // Generate the deserialization call
283
+ const typeRef = resolveReference(refkey(type));
284
+ if (xmlRootNs) {
285
+ statements.push(`return ${deserializeFromXmlRef}<${typeRef}>(xmlString, properties, "${xmlRootName}", { namespace: "${xmlRootNs.namespace}", prefix: "${xmlRootNs.prefix}" });`);
286
+ }
287
+ else {
288
+ statements.push(`return ${deserializeFromXmlRef}<${typeRef}>(xmlString, properties, "${xmlRootName}");`);
289
+ }
290
+ const deserializerFunction = {
291
+ kind: StructureKind.Function,
292
+ name: deserializerFunctionName,
293
+ isExported: true,
294
+ parameters: [
295
+ {
296
+ name: "xmlString",
297
+ type: "string"
298
+ }
299
+ ],
300
+ returnType: resolveReference(refkey(type)),
301
+ statements
302
+ };
303
+ return deserializerFunction;
304
+ }
305
+ /**
306
+ * Builds the property metadata array for XML deserialization
307
+ */
308
+ function buildDeserializePropertyMetadataArray(context, properties) {
309
+ var _a, _b, _c, _d;
310
+ const metadataEntries = [];
311
+ for (const property of properties) {
312
+ if (property.kind !== "property") {
313
+ continue;
314
+ }
315
+ if (isMetadata(context.program, property.__raw)) {
316
+ continue;
317
+ }
318
+ const xmlOptions = (_a = property.serializationOptions) === null || _a === void 0 ? void 0 : _a.xml;
319
+ const jsonOptions = (_b = property.serializationOptions) === null || _b === void 0 ? void 0 : _b.json;
320
+ const propertyName = normalizeModelPropertyName(context, property);
321
+ const cleanPropertyName = propertyName.replace(/^"|"$/g, "");
322
+ // Use XML name if available, fall back to JSON name, then property name
323
+ const serializedName = (_d = (_c = xmlOptions === null || xmlOptions === void 0 ? void 0 : xmlOptions.name) !== null && _c !== void 0 ? _c : jsonOptions === null || jsonOptions === void 0 ? void 0 : jsonOptions.name) !== null && _d !== void 0 ? _d : property.name;
324
+ const metadataObj = [
325
+ `propertyName: "${cleanPropertyName}"`,
326
+ `xmlOptions: { name: "${serializedName}"${buildXmlOptionsString(xmlOptions)} }`
327
+ ];
328
+ // Add type information for special handling
329
+ const typeInfo = getPropertyTypeInfo(property.type);
330
+ if (typeInfo.type) {
331
+ metadataObj.push(`type: "${typeInfo.type}"`);
332
+ }
333
+ if (typeInfo.dateEncoding) {
334
+ metadataObj.push(`dateEncoding: "${typeInfo.dateEncoding}"`);
335
+ }
336
+ // Add deserializer for complex types
337
+ const nestedDeserializer = getNestedXmlDeserializer(context, property.type);
338
+ if (nestedDeserializer) {
339
+ metadataObj.push(`deserializer: ${nestedDeserializer}`);
340
+ }
341
+ metadataEntries.push(`{ ${metadataObj.join(", ")} }`);
342
+ }
343
+ return metadataEntries.join(",\n ");
344
+ }
345
+ /**
346
+ * Gets the nested XML deserializer function reference for complex types
347
+ */
348
+ function getNestedXmlDeserializer(context, type) {
349
+ if (type.kind === "model") {
350
+ // For nested objects, use the regular JSON deserializer which takes parsed objects
351
+ // The XML parser has already converted the XML to an object structure
352
+ const deserializerName = buildModelDeserializer(context, type, {
353
+ nameOnly: true,
354
+ skipDiscriminatedUnionSuffix: false
355
+ });
356
+ if (typeof deserializerName === "string") {
357
+ return deserializerName;
358
+ }
359
+ }
360
+ if (type.kind === "array" && type.valueType.kind === "model") {
361
+ // For arrays, use the regular JSON deserializer which takes parsed objects
362
+ // The XML helper calls this for each item and handles the array mapping
363
+ const itemDeserializer = buildModelDeserializer(context, type.valueType, {
364
+ nameOnly: true,
365
+ skipDiscriminatedUnionSuffix: false
366
+ });
367
+ if (typeof itemDeserializer === "string") {
368
+ return itemDeserializer;
369
+ }
370
+ }
371
+ return undefined;
372
+ }
373
+ //# sourceMappingURL=buildXmlSerializerFunction.js.map