@azure-tools/typespec-rust 0.14.1 → 0.15.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.js +45 -15
- package/dist/src/codegen/clients.js.map +1 -1
- package/dist/src/codegen/codeGenerator.d.ts.map +1 -1
- package/dist/src/codegen/codeGenerator.js +14 -24
- package/dist/src/codegen/codeGenerator.js.map +1 -1
- package/dist/src/codegen/context.d.ts +14 -13
- package/dist/src/codegen/context.d.ts.map +1 -1
- package/dist/src/codegen/context.js +53 -30
- package/dist/src/codegen/context.js.map +1 -1
- package/dist/src/codegen/enums.d.ts.map +1 -1
- package/dist/src/codegen/enums.js +2 -2
- package/dist/src/codegen/enums.js.map +1 -1
- package/dist/src/codegen/headerTraits.js +3 -3
- package/dist/src/codegen/headerTraits.js.map +1 -1
- package/dist/src/codegen/helpers.d.ts +9 -0
- package/dist/src/codegen/helpers.d.ts.map +1 -1
- package/dist/src/codegen/helpers.js +23 -5
- package/dist/src/codegen/helpers.js.map +1 -1
- package/dist/src/codegen/models.d.ts +2 -0
- package/dist/src/codegen/models.d.ts.map +1 -1
- package/dist/src/codegen/models.js +157 -38
- package/dist/src/codegen/models.js.map +1 -1
- package/dist/src/codegen/use.d.ts.map +1 -1
- package/dist/src/codegen/use.js +7 -1
- package/dist/src/codegen/use.js.map +1 -1
- package/dist/src/codemodel/client.d.ts +3 -1
- package/dist/src/codemodel/client.d.ts.map +1 -1
- package/dist/src/codemodel/client.js.map +1 -1
- package/dist/src/codemodel/types.d.ts +53 -20
- package/dist/src/codemodel/types.d.ts.map +1 -1
- package/dist/src/codemodel/types.js +39 -12
- package/dist/src/codemodel/types.js.map +1 -1
- package/dist/src/tcgcadapter/adapter.d.ts.map +1 -1
- package/dist/src/tcgcadapter/adapter.js +171 -81
- package/dist/src/tcgcadapter/adapter.js.map +1 -1
- package/dist/src/tcgcadapter/helpers.d.ts +12 -2
- package/dist/src/tcgcadapter/helpers.d.ts.map +1 -1
- package/dist/src/tcgcadapter/helpers.js +28 -2
- package/dist/src/tcgcadapter/helpers.js.map +1 -1
- package/package.json +17 -17
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/codegen/context.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/codegen/context.ts"],"names":[],"mappings":"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"}
|
|
@@ -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;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,
|
|
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,CAyDzF"}
|
|
@@ -13,6 +13,7 @@ import { Use } from './use.js';
|
|
|
13
13
|
* @returns the enum content or undefined
|
|
14
14
|
*/
|
|
15
15
|
export function emitEnums(crate, context) {
|
|
16
|
+
var _a;
|
|
16
17
|
if (crate.enums.length === 0) {
|
|
17
18
|
return undefined;
|
|
18
19
|
}
|
|
@@ -51,8 +52,7 @@ export function emitEnums(crate, context) {
|
|
|
51
52
|
}
|
|
52
53
|
// emit impls as required
|
|
53
54
|
for (const rustEnum of crate.enums) {
|
|
54
|
-
body += context.getTryFromForRequestContent(rustEnum, use);
|
|
55
|
-
body += context.getModelImplForType(rustEnum, use);
|
|
55
|
+
body += (_a = context.getTryFromForRequestContent(rustEnum, use)) !== null && _a !== void 0 ? _a : '';
|
|
56
56
|
}
|
|
57
57
|
let content = helpers.contentPreamble();
|
|
58
58
|
content += use.text();
|
|
@@ -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
|
|
1
|
+
{"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../src/codegen/enums.ts"],"names":[],"mappings":"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"}
|
|
@@ -137,8 +137,8 @@ export function emitHeaderTraits(crate) {
|
|
|
137
137
|
body += `${indent.get()}${getHeaderMethodName(header)};\n`;
|
|
138
138
|
}
|
|
139
139
|
body += '}\n\n';
|
|
140
|
-
use.addForType(
|
|
141
|
-
body += `impl ${trait.name} for Response<${helpers.getTypeDeclaration(trait.implFor)}> {\n`;
|
|
140
|
+
use.addForType(trait.implFor);
|
|
141
|
+
body += `impl ${trait.name} for Response<${helpers.getTypeDeclaration(trait.implFor)}${helpers.emitXmlFormatForResponse(trait.implFor)}> {\n`;
|
|
142
142
|
for (const header of trait.headers) {
|
|
143
143
|
body += helpers.formatDocComment(header.docs);
|
|
144
144
|
body += `${indent.get()}${getHeaderMethodName(header)} {\n`;
|
|
@@ -222,7 +222,7 @@ function getSealedImpls(traitDefs) {
|
|
|
222
222
|
const implsFor = new Array();
|
|
223
223
|
for (const traitDef of traitDefs) {
|
|
224
224
|
use.addForType(traitDef.implFor);
|
|
225
|
-
implsFor.push(`impl Sealed for Response<${helpers.getTypeDeclaration(traitDef.implFor)}> {}`);
|
|
225
|
+
implsFor.push(`impl Sealed for Response<${helpers.getTypeDeclaration(traitDef.implFor)}${helpers.emitXmlFormatForResponse(traitDef.implFor)}> {}`);
|
|
226
226
|
}
|
|
227
227
|
implsFor.sort();
|
|
228
228
|
let content = '\nmod private {\n';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"headerTraits.js","sourceRoot":"","sources":["../../../src/codegen/headerTraits.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"headerTraits.js","sourceRoot":"","sources":["../../../src/codegen/headerTraits.ts"],"names":[],"mappings":"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"}
|
|
@@ -39,6 +39,15 @@ export declare function emitVisibility(visibility: rust.Visibility): string;
|
|
|
39
39
|
* @returns
|
|
40
40
|
*/
|
|
41
41
|
export declare function getTypeDeclaration(type: rust.Client | rust.Payload | rust.ResponseHeadersTrait | rust.Type, withAnonymousLifetime?: boolean): string;
|
|
42
|
+
/**
|
|
43
|
+
* conditionally returns ", XmlFormat" to be used in Response<T> definitions
|
|
44
|
+
* when the payload's content type is XML.
|
|
45
|
+
* if the content type isn't XML, the empty string is returned.
|
|
46
|
+
*
|
|
47
|
+
* @param respType the response type for which to emit the format
|
|
48
|
+
* @returns the XML format string or the empty string
|
|
49
|
+
*/
|
|
50
|
+
export declare function emitXmlFormatForResponse(respType: rust.ResponseTypes): string;
|
|
42
51
|
/** helper for managing indentation levels */
|
|
43
52
|
export declare class indentation {
|
|
44
53
|
private level;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/codegen/helpers.ts"],"names":[],"mappings":"AAQA,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;;;;;;;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,OAAO,GAAG,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,IAAI,EAAE,qBAAqB,UAAQ,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/codegen/helpers.ts"],"names":[],"mappings":"AAQA,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;;;;;;;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,OAAO,GAAG,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,IAAI,EAAE,qBAAqB,UAAQ,GAAG,MAAM,CAqFlJ;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,GAAG,MAAM,CAK7E;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,6CAA6C;AAC7C,MAAM,WAAW,SAAS;IACxB,iCAAiC;IACjC,IAAI,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,MAAM,CAAC;CACvC;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,SAAS,GAAG,MAAM,CAYjG;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,OAAO,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAkBpE"}
|
|
@@ -134,13 +134,17 @@ export function getTypeDeclaration(type, withAnonymousLifetime = false) {
|
|
|
134
134
|
case 'implTrait':
|
|
135
135
|
return `impl ${type.name}<${getTypeDeclaration(type.type, withAnonymousLifetime)}>`;
|
|
136
136
|
case 'literal':
|
|
137
|
-
return
|
|
137
|
+
return getTypeDeclaration(type.valueKind);
|
|
138
138
|
case 'option':
|
|
139
139
|
return `Option<${getTypeDeclaration(type.type, withAnonymousLifetime)}>`;
|
|
140
|
+
case 'pageIterator':
|
|
141
|
+
return `PageIterator<${getTypeDeclaration(type.type)}>`;
|
|
140
142
|
case 'pager':
|
|
141
143
|
return `Pager<${getTypeDeclaration(type.type.type, withAnonymousLifetime)}>`;
|
|
142
144
|
case 'payload':
|
|
143
145
|
return getTypeDeclaration(type.type, withAnonymousLifetime);
|
|
146
|
+
case 'rawResponse':
|
|
147
|
+
return type.name;
|
|
144
148
|
case 'ref':
|
|
145
149
|
return `&${getTypeDeclaration(type.type)}`;
|
|
146
150
|
case 'requestContent':
|
|
@@ -158,10 +162,7 @@ export function getTypeDeclaration(type, withAnonymousLifetime = false) {
|
|
|
158
162
|
case 'marker':
|
|
159
163
|
return `${type.name}<${type.content.name}>`;
|
|
160
164
|
case 'payload':
|
|
161
|
-
return `${type.name}<${getTypeDeclaration(type.content.type, withAnonymousLifetime)}>`;
|
|
162
|
-
case 'responseBody':
|
|
163
|
-
// for Response<T>, T defaults to ResponseBody so we can elide it
|
|
164
|
-
return type.name;
|
|
165
|
+
return `${type.name}<${getTypeDeclaration(type.content.type, withAnonymousLifetime)}${emitXmlFormatForResponse(type.content)}>`;
|
|
165
166
|
case 'unit':
|
|
166
167
|
return `${type.name}<${getTypeDeclaration(type.content)}>`;
|
|
167
168
|
}
|
|
@@ -178,6 +179,7 @@ export function getTypeDeclaration(type, withAnonymousLifetime = false) {
|
|
|
178
179
|
case 'jsonValue':
|
|
179
180
|
case 'offsetDateTime':
|
|
180
181
|
case 'responseHeadersTrait':
|
|
182
|
+
case 'safeint':
|
|
181
183
|
case 'tokenCredential':
|
|
182
184
|
return type.name;
|
|
183
185
|
case 'external':
|
|
@@ -197,6 +199,20 @@ export function getTypeDeclaration(type, withAnonymousLifetime = false) {
|
|
|
197
199
|
return `${type.kind}<${getTypeDeclaration(type.type, withAnonymousLifetime)}>`;
|
|
198
200
|
}
|
|
199
201
|
}
|
|
202
|
+
/**
|
|
203
|
+
* conditionally returns ", XmlFormat" to be used in Response<T> definitions
|
|
204
|
+
* when the payload's content type is XML.
|
|
205
|
+
* if the content type isn't XML, the empty string is returned.
|
|
206
|
+
*
|
|
207
|
+
* @param respType the response type for which to emit the format
|
|
208
|
+
* @returns the XML format string or the empty string
|
|
209
|
+
*/
|
|
210
|
+
export function emitXmlFormatForResponse(respType) {
|
|
211
|
+
if (respType.kind === 'payload' && respType.format === 'xml') {
|
|
212
|
+
return ', XmlFormat';
|
|
213
|
+
}
|
|
214
|
+
return '';
|
|
215
|
+
}
|
|
200
216
|
// four spaces per indent level
|
|
201
217
|
const oneIndentation = ' ';
|
|
202
218
|
/** helper for managing indentation levels */
|
|
@@ -355,6 +371,8 @@ export function unwrapType(type) {
|
|
|
355
371
|
case 'slice':
|
|
356
372
|
case 'Vec':
|
|
357
373
|
return unwrapType(type.type);
|
|
374
|
+
case 'pageIterator':
|
|
375
|
+
return unwrapType(type.type.content);
|
|
358
376
|
case 'pager':
|
|
359
377
|
return type.type.type;
|
|
360
378
|
case 'payload':
|
|
@@ -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":"AAAA;;;+FAG+F;AAE/F,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,MAAM,UAAU,GAAG;;;wDAGqC,CAAC;AAEzD,MAAM,CAAC,MAAM,uBAAuB,GAAG,qBAAqB,CAAC;AAE7D,MAAM,CAAC,MAAM,2BAA2B,GAAG,OAAO,CAAC;AAWnD;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,aAAsB,IAAI;IACxD,OAAO,GAAG,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC;AACjE,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAe,EAAE,MAAe,EAAE,MAAoB;IACrF,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACvC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,WAAW,GAAG,EAAE,CAAC;IACrB,IAAI,MAAM,EAAE,CAAC;QACX,WAAW,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC;IAC7B,CAAC;IAED,MAAM,YAAY,GAAG,UAAS,IAAY;QACxC,IAAI,cAAc,GAAG,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,KAAK,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;gBACvC,mDAAmD;gBACnD,0BAA0B;gBAC1B,MAAM;gBACN,qBAAqB;gBACrB,cAAc,IAAI,GAAG,WAAW,OAAO,CAAC;gBACxC,SAAS;YACX,CAAC;YAED,sFAAsF;YACtF,EAAE;YACF,kCAAkC;YAClC,wBAAwB;YACxB,IAAI,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,GAAG,WAAW,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;YAEvF,yCAAyC;YACzC,EAAE;YACF,kCAAkC;YAClC,0BAA0B;YAC1B,MAAM,eAAe,GAAG,aAAa,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAC1E,IAAI,eAAe,IAAI,MAAM,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;gBAClF,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;oBACvC,4FAA4F;oBAC5F,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC5F,CAAC;gBACD,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpC,CAAC;YACD,cAAc,IAAI,aAAa,GAAG,IAAI,CAAC;QACzC,CAAC;QACD,OAAO,cAAc,CAAC;IACxB,CAAC,CAAC;IAEF,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC3B,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,GAAG,GAAG,MAAM,GAAG,OAAO,EAAE,CAAC;QAClC,CAAC;QACD,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,IAAI,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACnC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,IAAI,GAAG,WAAW,OAAO,CAAC;QAClC,CAAC;aAAM,IAAI,MAAM,EAAE,CAAC;YAClB,mEAAmE;YACnE,WAAW,GAAG,GAAG,MAAM,GAAG,WAAW,EAAE,CAAC;QAC1C,CAAC;QACD,MAAM,IAAI,YAAY,CAAC,WAAW,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,UAA2B;IACxD,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,KAAK;YACR,OAAO,MAAM,CAAC;QAChB,KAAK,UAAU;YACb,OAAO,aAAa,CAAC;IACzB,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAwE,EAAE,qBAAqB,GAAG,KAAK;IACxI,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,KAAK;YACR,OAAO,GAAG,IAAI,CAAC,IAAI,QAAQ,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QAC9D,KAAK,KAAK;YACR,OAAO,OAAO,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QACjD,KAAK,OAAO,CAAC;QACb,KAAK,QAAQ,CAAC;QACd,KAAK,SAAS,CAAC;QACf,KAAK,QAAQ;YACX,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,KAAK,cAAc;YACjB,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QACzC,KAAK,WAAW;YACd,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAC7B,KAAK,MAAM;YACT,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,KAAK,SAAS;YACZ,OAAO,GAAG,IAAI,CAAC,IAAI,YAAY,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,qBAAqB,CAAC,GAAG,CAAC;QACzF,KAAK,WAAW;YACd,OAAO,QAAQ,IAAI,CAAC,IAAI,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,qBAAqB,CAAC,GAAG,CAAC;QACtF,KAAK,SAAS;YACZ,OAAO,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5C,KAAK,QAAQ;YACX,OAAO,UAAU,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,qBAAqB,CAAC,GAAG,CAAC;QAC3E,KAAK,cAAc;YACjB,OAAO,gBAAgB,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QAC1D,KAAK,OAAO;YACV,OAAO,SAAS,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,qBAAqB,CAAC,GAAG,CAAC;QAC/E,KAAK,SAAS;YACZ,OAAO,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC;QAC9D,KAAK,aAAa;YAChB,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,KAAK,KAAK;YACR,OAAO,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7C,KAAK,gBAAgB;YACnB,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBAC1B,KAAK,OAAO;oBACV,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;gBAC7D,KAAK,SAAS;oBACZ,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,qBAAqB,CAAC,GAAG,CAAC;YAC3F,CAAC;YACD,MAAM;QACR,KAAK,QAAQ;YACX,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,qBAAqB,CAAC,GAAG,CAAC;QACjF,KAAK,UAAU;YACb,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBAC1B,KAAK,QAAQ;oBACX,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC;gBAC9C,KAAK,SAAS;oBACZ,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,qBAAqB,CAAC,GAAG,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;gBAClI,KAAK,MAAM;oBACT,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;YAC/D,CAAC;YACD,MAAM;QACR,KAAK,QAAQ,CAAC;QACd,KAAK,KAAK,CAAC;QACX,KAAK,KAAK;YACR,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,KAAK,QAAQ;YACX,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,KAAK,OAAO;YACV,OAAO,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QAC9C,KAAK,MAAM,CAAC;QACZ,KAAK,WAAW,CAAC;QACjB,KAAK,gBAAgB,CAAC;QACtB,KAAK,sBAAsB,CAAC;QAC5B,KAAK,SAAS,CAAC;QACf,KAAK,iBAAiB;YACpB,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,KAAK,UAAU,CAAC;QAChB,KAAK,OAAO,CAAC;QACb,KAAK,QAAQ;YACX,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACnB,OAAO,IAAI,CAAC,IAAI,CAAC;YACnB,CAAC;iBAAM,IAAI,qBAAqB,EAAE,CAAC;gBACjC,sDAAsD;gBACtD,OAAO,GAAG,IAAI,CAAC,IAAI,GAAG,2BAA2B,EAAE,CAAC;YACtD,CAAC;YACD,OAAO,GAAG,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtE,KAAK,MAAM;YACT,OAAO,IAAI,CAAC;QACd,KAAK,KAAK;YACR,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,qBAAqB,CAAC,GAAG,CAAC;IACnF,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,wBAAwB,CAAC,QAA4B;IACnE,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;QAC7D,OAAO,aAAa,CAAC;IACvB,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,+BAA+B;AAC/B,MAAM,cAAc,GAAG,MAAM,CAAC;AAE9B,6CAA6C;AAC7C,MAAM,OAAO,WAAW;IAEtB,YAAY,KAAc;QACxB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACrB,CAAC;aAAM,CAAC;YACN,sCAAsC;YACtC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QACjB,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,GAAG;QACD,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,cAAc,CAAC;QAC3B,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACH,IAAI;QACF,EAAE,IAAI,CAAC,KAAK,CAAC;QACb,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,GAAG;QACD,EAAE,IAAI,CAAC,KAAK,CAAC;QACb,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;YACnB,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,6BAA6B,CAAC,CAAC;QACzE,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAG,KAAoB;IACtD,MAAM,MAAM,GAAG,IAAI,KAAK,CAAS,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;IACnF,0BAA0B;IAC1B,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACnD,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;IACtB,MAAM,CAAC,IAAI,EAAE,CAAC;IACd,OAAO,YAAY,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;AAC7C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,CAAS,EAAE,CAAS;IAChD,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,4BAA4B,CAAC,QAAuB;IAClE,OAAO,IAAI,QAAQ,CAAC,IAAI,GAAG,CAAC;AAC9B,CAAC;AAiBD;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAAC,MAAmB,EAAE,OAAgB,EAAE,SAAqB;IACvF,IAAI,IAAI,GAAG,MAAM,OAAO,CAAC,SAAS,MAAM,CAAC;IACzC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IACpC,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;IAEjC,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,IAAI,WAAW,CAAC;QACpB,IAAI,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACtC,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;IACnC,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAcD;;;;;;;GAOG;AACH,MAAM,UAAU,UAAU,CAAC,MAAmB,EAAE,IAAY,EAAE,IAAqB;IACjF,IAAI,KAAK,GAAG,SAAS,IAAI,MAAM,CAAC;IAChC,MAAM,CAAC,IAAI,EAAE,CAAC;IACd,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,KAAK,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,OAAO,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;QACvF,KAAK,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACjC,mEAAmE;QACnE,oEAAoE;QACpE,4BAA4B;QAC5B,KAAK,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC;IACvC,CAAC;IACD,KAAK,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;IAClC,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CAAC,GAAW;IACpC,OAAO,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AACjC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,IAAe;IAC1C,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,IAA8B;IACvD,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,KAAK,CAAC;QACX,KAAK,SAAS,CAAC;QACf,KAAK,QAAQ,CAAC;QACd,KAAK,KAAK,CAAC;QACX,KAAK,OAAO,CAAC;QACb,KAAK,KAAK;YACR,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,KAAK,cAAc;YACjB,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvC,KAAK,OAAO;YACV,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QACxB,KAAK,SAAS;YACZ,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC"}
|
|
@@ -7,6 +7,8 @@ export interface Models {
|
|
|
7
7
|
public?: helpers.Module;
|
|
8
8
|
/** serde helpers for public models */
|
|
9
9
|
serde?: helpers.Module;
|
|
10
|
+
/** trait impls for public models */
|
|
11
|
+
impls?: helpers.Module;
|
|
10
12
|
/** models that are for internal use only */
|
|
11
13
|
internal?: helpers.Module;
|
|
12
14
|
/** XML-specific helpers for internal use only */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../../src/codegen/models.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,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,
|
|
1
|
+
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../../src/codegen/models.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,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,oCAAoC;IACpC,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,CAYtE"}
|
|
@@ -21,7 +21,8 @@ export function emitModels(crate, context) {
|
|
|
21
21
|
}
|
|
22
22
|
return {
|
|
23
23
|
public: emitModelsInternal(crate, context, 'pub'),
|
|
24
|
-
serde: emitModelsSerde(
|
|
24
|
+
serde: emitModelsSerde(),
|
|
25
|
+
impls: emitModelImpls(crate, context),
|
|
25
26
|
internal: emitModelsInternal(crate, context, 'pubCrate'),
|
|
26
27
|
xmlHelpers: emitXMLListWrappers(),
|
|
27
28
|
};
|
|
@@ -60,7 +61,7 @@ function emitModelsInternal(crate, context, visibility) {
|
|
|
60
61
|
}
|
|
61
62
|
const bodyFormat = context.getModelBodyFormat(model);
|
|
62
63
|
body += helpers.formatDocComment(model.docs);
|
|
63
|
-
body += helpers.annotationDerive('Default'
|
|
64
|
+
body += helpers.annotationDerive('Default');
|
|
64
65
|
if ((model.flags & rust.ModelFlags.Output) === rust.ModelFlags.Output && (model.flags & rust.ModelFlags.Input) === 0) {
|
|
65
66
|
// output-only models get the non_exhaustive annotation
|
|
66
67
|
body += helpers.AnnotationNonExhaustive;
|
|
@@ -68,10 +69,6 @@ function emitModelsInternal(crate, context, visibility) {
|
|
|
68
69
|
if (model.xmlName) {
|
|
69
70
|
body += `#[serde(rename = "${model.xmlName}")]\n`;
|
|
70
71
|
}
|
|
71
|
-
if (bodyFormat === 'xml') {
|
|
72
|
-
// json is the default if not specified so no need to handle it
|
|
73
|
-
body += `#[typespec(format = "xml")]\n`;
|
|
74
|
-
}
|
|
75
72
|
body += `${helpers.emitVisibility(model.visibility)}struct ${model.name} {\n`;
|
|
76
73
|
for (const field of model.fields) {
|
|
77
74
|
use.addForType(field.type);
|
|
@@ -83,8 +80,9 @@ function emitModelsInternal(crate, context, visibility) {
|
|
|
83
80
|
}
|
|
84
81
|
// NOTE: usage of serde annotations like this means that base64 encoded bytes and
|
|
85
82
|
// XML wrapped lists are mutually exclusive. it's not a real scenario at present.
|
|
86
|
-
|
|
87
|
-
|
|
83
|
+
const unwrappedType = helpers.unwrapType(field.type);
|
|
84
|
+
if (unwrappedType.kind === 'encodedBytes' || unwrappedType.kind === 'literal' || unwrappedType.kind === 'offsetDateTime' || encodeAsString(unwrappedType)) {
|
|
85
|
+
getSerDeHelper(field, serdeParams, use);
|
|
88
86
|
}
|
|
89
87
|
else if (bodyFormat === 'xml' && helpers.unwrapOption(field.type).kind === 'Vec' && field.xmlKind !== 'unwrappedList') {
|
|
90
88
|
// this is a wrapped list so we need a helper type for serde
|
|
@@ -97,7 +95,10 @@ function emitModelsInternal(crate, context, visibility) {
|
|
|
97
95
|
// TODO: omit skip_serializing_if if we need to send explicit JSON null
|
|
98
96
|
// https://github.com/Azure/typespec-rust/issues/78
|
|
99
97
|
if (field.type.kind === 'option') {
|
|
100
|
-
|
|
98
|
+
// optional literals need to skip serializing when it's None
|
|
99
|
+
if (field.type.type.kind !== 'literal' || field.optional) {
|
|
100
|
+
serdeParams.add('skip_serializing_if = "Option::is_none"');
|
|
101
|
+
}
|
|
101
102
|
}
|
|
102
103
|
else if (visibility === 'pub') {
|
|
103
104
|
// for public models, non-optional fields (e.g. Vec<T> in pageable responses) requires default.
|
|
@@ -105,6 +106,11 @@ function emitModelsInternal(crate, context, visibility) {
|
|
|
105
106
|
// to the required fields in the struct.
|
|
106
107
|
serdeParams.add('default');
|
|
107
108
|
}
|
|
109
|
+
// default behavior of rust_decimal is to encode/decode
|
|
110
|
+
// as string, so disable that as required
|
|
111
|
+
if (unwrappedType.kind === 'decimal' && !unwrappedType.stringEncoding) {
|
|
112
|
+
serdeParams.add(`with = "rust_decimal::serde::float${field.type.kind === 'option' ? '_option' : ''}"`);
|
|
113
|
+
}
|
|
108
114
|
if (serdeParams.size > 0) {
|
|
109
115
|
body += `${indent.get()}#[serde(${Array.from(serdeParams).sort().join(', ')})]\n`;
|
|
110
116
|
}
|
|
@@ -138,13 +144,34 @@ function emitModelsInternal(crate, context, visibility) {
|
|
|
138
144
|
* returns serde helpers for public models.
|
|
139
145
|
* if no helpers are required, undefined is returned.
|
|
140
146
|
*
|
|
147
|
+
* @returns the model serde helpers content or undefined
|
|
148
|
+
*/
|
|
149
|
+
function emitModelsSerde() {
|
|
150
|
+
const use = new Use('modelsOther');
|
|
151
|
+
const serdeHelpers = emitSerDeHelpers(use);
|
|
152
|
+
if (!serdeHelpers) {
|
|
153
|
+
// no helpers
|
|
154
|
+
return undefined;
|
|
155
|
+
}
|
|
156
|
+
let content = helpers.contentPreamble();
|
|
157
|
+
content += use.text();
|
|
158
|
+
content += serdeHelpers;
|
|
159
|
+
return {
|
|
160
|
+
name: 'models_serde',
|
|
161
|
+
content: content,
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* returns any trait impls for public models.
|
|
166
|
+
* if no helpers are required, undefined is returned.
|
|
167
|
+
*
|
|
141
168
|
* @param crate the crate for which to emit model serde helpers
|
|
142
169
|
* @param context the context for the provided crate
|
|
143
170
|
* @returns the model serde helpers content or undefined
|
|
144
171
|
*/
|
|
145
|
-
function
|
|
172
|
+
function emitModelImpls(crate, context) {
|
|
146
173
|
const use = new Use('modelsOther');
|
|
147
|
-
|
|
174
|
+
const entries = new Array();
|
|
148
175
|
// emit TryFrom as required
|
|
149
176
|
for (const model of crate.models) {
|
|
150
177
|
if (model.kind === 'marker' || model.visibility !== 'pub') {
|
|
@@ -154,26 +181,25 @@ function emitModelsSerde(crate, context) {
|
|
|
154
181
|
const forReq = context.getTryFromForRequestContent(model, use);
|
|
155
182
|
// helpers aren't required for all types, so only
|
|
156
183
|
// add a use statement for a type if it has a helper
|
|
157
|
-
if (forReq
|
|
184
|
+
if (forReq) {
|
|
185
|
+
use.addForType(model);
|
|
186
|
+
entries.push(forReq);
|
|
187
|
+
}
|
|
188
|
+
const pageImpl = context.getPageImplForType(model, use);
|
|
189
|
+
if (pageImpl) {
|
|
158
190
|
use.addForType(model);
|
|
191
|
+
entries.push(pageImpl);
|
|
159
192
|
}
|
|
160
|
-
body += forReq;
|
|
161
193
|
}
|
|
162
|
-
|
|
163
|
-
if (body.length === 0 && !serdeHelpers) {
|
|
194
|
+
if (entries.length === 0) {
|
|
164
195
|
// no helpers
|
|
165
196
|
return undefined;
|
|
166
197
|
}
|
|
167
198
|
let content = helpers.contentPreamble();
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
content += body;
|
|
171
|
-
}
|
|
172
|
-
if (serdeHelpers) {
|
|
173
|
-
content += serdeHelpers;
|
|
174
|
-
}
|
|
199
|
+
content += use.text();
|
|
200
|
+
content += entries.sort().join('');
|
|
175
201
|
return {
|
|
176
|
-
name: '
|
|
202
|
+
name: 'models_impl',
|
|
177
203
|
content: content,
|
|
178
204
|
};
|
|
179
205
|
}
|
|
@@ -343,19 +369,28 @@ const serdeHelpers = new Map();
|
|
|
343
369
|
* defines serde helpers for encodedBytes and offsetDateTime types.
|
|
344
370
|
* any other type will cause this function to throw.
|
|
345
371
|
*
|
|
346
|
-
* @param
|
|
372
|
+
* @param field the model field for which to build serde helpers
|
|
347
373
|
* @param serdeParams the params that will be passed to the serde annotation
|
|
348
374
|
* @param use the use statement builder currently in scope
|
|
349
375
|
*/
|
|
350
|
-
function getSerDeHelper(
|
|
351
|
-
const unwrapped = helpers.unwrapType(type);
|
|
376
|
+
function getSerDeHelper(field, serdeParams, use) {
|
|
377
|
+
const unwrapped = helpers.unwrapType(field.type);
|
|
352
378
|
switch (unwrapped.kind) {
|
|
353
379
|
case 'encodedBytes':
|
|
354
|
-
|
|
380
|
+
case 'literal':
|
|
355
381
|
case 'offsetDateTime':
|
|
382
|
+
case 'safeint':
|
|
383
|
+
case 'scalar':
|
|
356
384
|
break;
|
|
357
385
|
default:
|
|
358
|
-
throw new CodegenError('InternalError', `getSerDeHelper unexpected kind ${
|
|
386
|
+
throw new CodegenError('InternalError', `getSerDeHelper unexpected kind ${unwrapped.kind}`);
|
|
387
|
+
}
|
|
388
|
+
if (unwrapped.kind === 'safeint' || unwrapped.kind === 'scalar') {
|
|
389
|
+
if (unwrapped.stringEncoding) {
|
|
390
|
+
serdeParams.add(`with = "azure_core::fmt::as_string"`);
|
|
391
|
+
}
|
|
392
|
+
// no other processing for these types is required
|
|
393
|
+
return;
|
|
359
394
|
}
|
|
360
395
|
/**
|
|
361
396
|
* for hash maps and vectors, we emit a module containing the necessary
|
|
@@ -380,7 +415,7 @@ function getSerDeHelper(type, serdeParams, use) {
|
|
|
380
415
|
}
|
|
381
416
|
// we can reuse identical helpers across model types
|
|
382
417
|
if (!serdeHelpers.has(name)) {
|
|
383
|
-
serdeHelpers.set(name,
|
|
418
|
+
serdeHelpers.set(name, field);
|
|
384
419
|
}
|
|
385
420
|
return name;
|
|
386
421
|
};
|
|
@@ -397,17 +432,39 @@ function getSerDeHelper(type, serdeParams, use) {
|
|
|
397
432
|
serdeParams.add('default');
|
|
398
433
|
serdeParams.add(`with = "azure_core::date::${encoding}${optional ? '::option' : ''}"`);
|
|
399
434
|
};
|
|
435
|
+
/** serializing literal values */
|
|
436
|
+
const serdeLiteral = function () {
|
|
437
|
+
const literal = helpers.unwrapOption(field.type);
|
|
438
|
+
let literalValueName = literal.value.toString();
|
|
439
|
+
if (literal.valueKind.kind === 'scalar') {
|
|
440
|
+
// if the scalar is a float, replace the . as it's illegal in an identifier
|
|
441
|
+
literalValueName = literalValueName.replace('.', 'point');
|
|
442
|
+
}
|
|
443
|
+
const optional = field.optional ? 'optional_' : '';
|
|
444
|
+
const typeName = literal.valueKind.kind === 'scalar' ? literal.valueKind.type : literal.valueKind.kind.toLowerCase();
|
|
445
|
+
const name = `serialize_${optional}${typeName}_literal_${literalValueName}`;
|
|
446
|
+
serdeParams.add(`serialize_with = "models_serde::${name}"`);
|
|
447
|
+
// we can reuse identical helpers
|
|
448
|
+
if (!serdeHelpers.has(name)) {
|
|
449
|
+
serdeHelpers.set(name, field);
|
|
450
|
+
use.add('super', 'models_serde');
|
|
451
|
+
}
|
|
452
|
+
};
|
|
400
453
|
// the first two cases are for spread params where the internal model's field isn't Option<T>
|
|
401
|
-
switch (type.kind) {
|
|
454
|
+
switch (field.type.kind) {
|
|
402
455
|
case 'encodedBytes':
|
|
403
456
|
return serdeEncodedBytes(unwrapped.encoding);
|
|
457
|
+
case 'literal':
|
|
458
|
+
return serdeLiteral();
|
|
404
459
|
case 'offsetDateTime':
|
|
405
460
|
return serdeOffsetDateTime(unwrapped.encoding, false);
|
|
406
461
|
default:
|
|
407
|
-
if (type.kind === 'option') {
|
|
408
|
-
switch (type.type.kind) {
|
|
462
|
+
if (field.type.kind === 'option') {
|
|
463
|
+
switch (field.type.type.kind) {
|
|
409
464
|
case 'encodedBytes':
|
|
410
465
|
return serdeEncodedBytes(unwrapped.encoding);
|
|
466
|
+
case 'literal':
|
|
467
|
+
return serdeLiteral();
|
|
411
468
|
case 'offsetDateTime':
|
|
412
469
|
return serdeOffsetDateTime(unwrapped.encoding, true);
|
|
413
470
|
}
|
|
@@ -417,7 +474,7 @@ function getSerDeHelper(type, serdeParams, use) {
|
|
|
417
474
|
// - Option of HashMap/Vec of encoded thing
|
|
418
475
|
use.add('super', 'models_serde');
|
|
419
476
|
serdeParams.add('default');
|
|
420
|
-
serdeParams.add(`with = "models_serde::${buildSerDeModName(type)}"`);
|
|
477
|
+
serdeParams.add(`with = "models_serde::${buildSerDeModName(field.type)}"`);
|
|
421
478
|
break;
|
|
422
479
|
}
|
|
423
480
|
}
|
|
@@ -425,28 +482,78 @@ function getSerDeHelper(type, serdeParams, use) {
|
|
|
425
482
|
* emits serde helper modules or returns undefined
|
|
426
483
|
* if no serde helpers are required.
|
|
427
484
|
*
|
|
485
|
+
* @param use the use statement builder at the file scope
|
|
428
486
|
* @returns the helper modules or undefined
|
|
429
487
|
*/
|
|
430
|
-
function emitSerDeHelpers() {
|
|
488
|
+
function emitSerDeHelpers(use) {
|
|
431
489
|
if (serdeHelpers.size === 0) {
|
|
432
490
|
return undefined;
|
|
433
491
|
}
|
|
434
492
|
let content = '';
|
|
435
493
|
const helperKeys = Array.from(serdeHelpers.keys()).sort();
|
|
436
494
|
for (const helperKey of helperKeys) {
|
|
437
|
-
const use = new Use('modelsOther');
|
|
438
495
|
const indent = new helpers.indentation();
|
|
496
|
+
const field = serdeHelpers.get(helperKey);
|
|
497
|
+
if (helpers.unwrapOption(field.type).kind === 'literal') {
|
|
498
|
+
content += buildLiteralSerialize(indent, helperKey, field, use);
|
|
499
|
+
continue;
|
|
500
|
+
}
|
|
501
|
+
const modUse = new Use('modelsOther');
|
|
439
502
|
let modContent = `pub mod ${helperKey} {\n`;
|
|
440
503
|
modContent += `${indent.get()}#![allow(clippy::type_complexity)]\n`;
|
|
441
|
-
const deserialize = buildDeserialize(indent,
|
|
442
|
-
const serialize = buildSerialize(indent,
|
|
443
|
-
modContent +=
|
|
504
|
+
const deserialize = buildDeserialize(indent, field.type, modUse);
|
|
505
|
+
const serialize = buildSerialize(indent, field.type, modUse);
|
|
506
|
+
modContent += modUse.text(indent);
|
|
444
507
|
modContent += `${deserialize}\n${serialize}`;
|
|
445
508
|
modContent += '}\n\n'; // end pub mod
|
|
446
509
|
content += modContent;
|
|
447
510
|
}
|
|
448
511
|
return content;
|
|
449
512
|
}
|
|
513
|
+
/**
|
|
514
|
+
* constructs a serde serializer function for a literal value
|
|
515
|
+
*
|
|
516
|
+
* @param indent the indentation helper currently in scope
|
|
517
|
+
* @param name the name of the serialization function
|
|
518
|
+
* @param field the model field containing a literal to serialize
|
|
519
|
+
* @param use the use statement builder at file scope
|
|
520
|
+
* @returns the pub(crate) serialize function definition
|
|
521
|
+
*/
|
|
522
|
+
function buildLiteralSerialize(indent, name, field, use) {
|
|
523
|
+
const literal = helpers.unwrapOption(field.type);
|
|
524
|
+
if (literal.kind !== 'literal') {
|
|
525
|
+
throw new CodegenError('InternalError', `unexpected kind ${literal.kind}`);
|
|
526
|
+
}
|
|
527
|
+
use.add('serde', 'Serializer');
|
|
528
|
+
const fieldVar = field.optional ? 'value' : '_ignored';
|
|
529
|
+
let content = `pub(crate) fn ${name}<S>(${fieldVar}: &${helpers.getTypeDeclaration(field.type)}, serializer: S) -> std::result::Result<S::Ok, S::Error> where S: Serializer {\n`;
|
|
530
|
+
let serializeMethod;
|
|
531
|
+
let serializeValue = literal.value;
|
|
532
|
+
switch (literal.valueKind.kind) {
|
|
533
|
+
case 'String':
|
|
534
|
+
serializeMethod = 'str';
|
|
535
|
+
serializeValue = `"${literal.value}"`;
|
|
536
|
+
break;
|
|
537
|
+
case 'scalar':
|
|
538
|
+
serializeMethod = literal.valueKind.type;
|
|
539
|
+
break;
|
|
540
|
+
}
|
|
541
|
+
const toSerialize = `serializer.serialize_${serializeMethod}(${serializeValue})\n`;
|
|
542
|
+
if (field.optional) {
|
|
543
|
+
content += `${indent.get()}${helpers.buildMatch(indent, `${fieldVar}.is_some()`, [{
|
|
544
|
+
pattern: 'true',
|
|
545
|
+
body: (indent) => `${indent.get()}${toSerialize}`,
|
|
546
|
+
}, {
|
|
547
|
+
pattern: 'false',
|
|
548
|
+
body: (indent) => `${indent.get()}serializer.serialize_none()\n`,
|
|
549
|
+
}])}`;
|
|
550
|
+
}
|
|
551
|
+
else {
|
|
552
|
+
content += `${indent.get()}${toSerialize}`;
|
|
553
|
+
}
|
|
554
|
+
content += '}\n\n';
|
|
555
|
+
return content;
|
|
556
|
+
}
|
|
450
557
|
/**
|
|
451
558
|
* constructs a serde deserialize function
|
|
452
559
|
*
|
|
@@ -802,4 +909,16 @@ function getSerDeTypeDeclaration(type, usage) {
|
|
|
802
909
|
throw new CodegenError('InternalError', `unexpected kind ${type.kind}`);
|
|
803
910
|
}
|
|
804
911
|
}
|
|
912
|
+
/**
|
|
913
|
+
* returns true if the provided type should be encoded as a string.
|
|
914
|
+
*
|
|
915
|
+
* @param type the type for which to check the encoding
|
|
916
|
+
* @returns true if string encoding is required
|
|
917
|
+
*/
|
|
918
|
+
function encodeAsString(type) {
|
|
919
|
+
if (type.kind !== 'safeint' && type.kind !== 'scalar') {
|
|
920
|
+
return false;
|
|
921
|
+
}
|
|
922
|
+
return type.stringEncoding;
|
|
923
|
+
}
|
|
805
924
|
//# sourceMappingURL=models.js.map
|