@azure-tools/typespec-rust 0.14.2 → 0.16.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 +64 -22
- 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 +16 -15
- package/dist/src/codegen/context.d.ts.map +1 -1
- package/dist/src/codegen/context.js +63 -41
- 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 +24 -14
- 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 +37 -20
- 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 -6
- package/dist/src/codegen/use.js.map +1 -1
- package/dist/src/codemodel/client.d.ts +5 -3
- 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 +44 -24
- package/dist/src/codemodel/types.d.ts.map +1 -1
- package/dist/src/codemodel/types.js +23 -6
- package/dist/src/codemodel/types.js.map +1 -1
- package/dist/src/tcgcadapter/adapter.d.ts +10 -3
- package/dist/src/tcgcadapter/adapter.d.ts.map +1 -1
- package/dist/src/tcgcadapter/adapter.js +137 -81
- package/dist/src/tcgcadapter/adapter.js.map +1 -1
- package/package.json +16 -16
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
*--------------------------------------------------------------------------------------------*/
|
|
5
5
|
import { CodegenError } from './errors.js';
|
|
6
6
|
import * as helpers from './helpers.js';
|
|
7
|
+
import * as rust from '../codemodel/index.js';
|
|
7
8
|
/**
|
|
8
9
|
* Context contains contextual information about how types are used.
|
|
9
10
|
* It's an implementation detail of CodeGenerator and isn't intended
|
|
@@ -18,7 +19,7 @@ export class Context {
|
|
|
18
19
|
constructor(crate) {
|
|
19
20
|
this.bodyFormatForModels = new Map();
|
|
20
21
|
this.tryFromForRequestTypes = new Map();
|
|
21
|
-
this.
|
|
22
|
+
this.pagedResponseTypes = new Set();
|
|
22
23
|
const recursiveAddBodyFormat = (type, format) => {
|
|
23
24
|
type = helpers.unwrapType(type);
|
|
24
25
|
if (type.kind !== 'model') {
|
|
@@ -44,6 +45,10 @@ export class Context {
|
|
|
44
45
|
if (method.kind === 'clientaccessor') {
|
|
45
46
|
continue;
|
|
46
47
|
}
|
|
48
|
+
else if (method.kind === 'pageable' && method.returns.type.kind === 'pager') {
|
|
49
|
+
// impls are for pagers only (not page iterators)
|
|
50
|
+
this.pagedResponseTypes.add(method.returns.type.type.content);
|
|
51
|
+
}
|
|
47
52
|
// TODO: this doesn't handle the case where a method sends/receives a HashMap<T>
|
|
48
53
|
// or Vec<T> where T is an enum or model type.
|
|
49
54
|
// https://github.com/Azure/typespec-rust/issues/65
|
|
@@ -59,69 +64,47 @@ export class Context {
|
|
|
59
64
|
recursiveAddBodyFormat(param.type.content.type, param.type.content.format);
|
|
60
65
|
}
|
|
61
66
|
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
67
|
+
switch (method.returns.type.kind) {
|
|
68
|
+
case 'pageIterator':
|
|
69
|
+
case 'pager': {
|
|
70
|
+
recursiveAddBodyFormat(method.returns.type.type.content, helpers.convertResponseFormat(method.returns.type.type.format));
|
|
71
|
+
break;
|
|
65
72
|
}
|
|
66
|
-
|
|
67
|
-
|
|
73
|
+
case 'response': {
|
|
74
|
+
if (method.returns.type.format !== 'NoFormat') {
|
|
75
|
+
recursiveAddBodyFormat(method.returns.type.content, helpers.convertResponseFormat(method.returns.type.format));
|
|
76
|
+
}
|
|
77
|
+
break;
|
|
68
78
|
}
|
|
69
|
-
recursiveAddBodyFormat(method.returns.type.content.type, method.returns.type.content.format);
|
|
70
|
-
}
|
|
71
|
-
else if (method.returns.type.kind === 'pager') {
|
|
72
|
-
this.tryFromResponseTypes.set(helpers.getTypeDeclaration(method.returns.type.type.type), method.returns.type.type.format);
|
|
73
|
-
recursiveAddBodyFormat(method.returns.type.type.type, method.returns.type.type.format);
|
|
74
79
|
}
|
|
75
80
|
}
|
|
76
81
|
}
|
|
77
82
|
}
|
|
78
83
|
/**
|
|
79
84
|
* returns the impl TryFrom<T> for RequestContent<T> where T is type.
|
|
80
|
-
* if no impl is required, it returns
|
|
85
|
+
* if no impl is required, it returns undefined.
|
|
81
86
|
*
|
|
82
|
-
* @param
|
|
87
|
+
* @param model the model for which to implement TryFrom
|
|
83
88
|
* @param use the use statement builder currently in scope
|
|
84
|
-
* @returns the impl TryFrom<T> block for type or
|
|
89
|
+
* @returns the impl TryFrom<T> block for type or undefined
|
|
85
90
|
*/
|
|
86
|
-
getTryFromForRequestContent(
|
|
87
|
-
const format = this.tryFromForRequestTypes.get(helpers.getTypeDeclaration(
|
|
91
|
+
getTryFromForRequestContent(model, use) {
|
|
92
|
+
const format = this.tryFromForRequestTypes.get(helpers.getTypeDeclaration(model));
|
|
88
93
|
if (!format) {
|
|
89
|
-
return
|
|
94
|
+
return undefined;
|
|
90
95
|
}
|
|
91
96
|
use.add('azure_core', 'Result');
|
|
92
97
|
use.add('azure_core::http', 'RequestContent');
|
|
93
98
|
use.add('azure_core', `${format}::to_${format}`);
|
|
94
99
|
const indent = new helpers.indentation();
|
|
95
|
-
let content = `impl TryFrom<${helpers.getTypeDeclaration(
|
|
100
|
+
let content = `impl TryFrom<${helpers.getTypeDeclaration(model)}> for RequestContent<${helpers.getTypeDeclaration(model)}> {\n`;
|
|
96
101
|
content += `${indent.get()}type Error = azure_core::Error;\n`;
|
|
97
|
-
content += `${indent.get()}fn try_from(value: ${helpers.getTypeDeclaration(
|
|
102
|
+
content += `${indent.get()}fn try_from(value: ${helpers.getTypeDeclaration(model)}) -> Result<Self> {\n`;
|
|
98
103
|
content += `${indent.push().get()}RequestContent::try_from(to_${format}(&value)?)\n`;
|
|
99
104
|
content += `${indent.pop().get()}}\n`;
|
|
100
105
|
content += '}\n\n';
|
|
101
106
|
return content;
|
|
102
107
|
}
|
|
103
|
-
/**
|
|
104
|
-
* returns the impl azure_core::Model for the specified type.
|
|
105
|
-
* if no impl is required, it returns the empty string.
|
|
106
|
-
*
|
|
107
|
-
* @param type the type for which to implement TryFrom
|
|
108
|
-
* @param use the use statement builder currently in scope
|
|
109
|
-
* @returns the impl azure_core::Model block for type or the empty string
|
|
110
|
-
*/
|
|
111
|
-
getModelImplForType(type, use) {
|
|
112
|
-
const format = this.tryFromResponseTypes.get(helpers.getTypeDeclaration(type));
|
|
113
|
-
if (!format) {
|
|
114
|
-
return '';
|
|
115
|
-
}
|
|
116
|
-
use.add('azure_core::http', 'response::ResponseBody');
|
|
117
|
-
const indent = new helpers.indentation();
|
|
118
|
-
let content = `impl azure_core::http::Model for ${helpers.getTypeDeclaration(type)} {\n`;
|
|
119
|
-
content += `${indent.get()}async fn from_response_body(body: ResponseBody) -> Result<Self> {\n`;
|
|
120
|
-
content += `${indent.push().get()}body.${format}().await\n`;
|
|
121
|
-
content += `${indent.pop().get()}}\n`;
|
|
122
|
-
content += '}\n\n';
|
|
123
|
-
return content;
|
|
124
|
-
}
|
|
125
108
|
/**
|
|
126
109
|
* returns the body format for the provided model
|
|
127
110
|
*
|
|
@@ -139,5 +122,44 @@ export class Context {
|
|
|
139
122
|
}
|
|
140
123
|
return bodyFormat;
|
|
141
124
|
}
|
|
125
|
+
/**
|
|
126
|
+
* returns an azure_core::http::Page impl for the provided model
|
|
127
|
+
* or undefined if the model isn't a paged response type.
|
|
128
|
+
*
|
|
129
|
+
* @param model the model for which to create the Page impl
|
|
130
|
+
* @param use the use statement builder currently in scope
|
|
131
|
+
* @returns the Page impl or undefined
|
|
132
|
+
*/
|
|
133
|
+
getPageImplForType(model, use) {
|
|
134
|
+
if (!this.pagedResponseTypes.has(model)) {
|
|
135
|
+
return undefined;
|
|
136
|
+
}
|
|
137
|
+
// find the page items field in the model
|
|
138
|
+
let pageItemsField;
|
|
139
|
+
for (const field of model.fields) {
|
|
140
|
+
if ((field.flags & rust.ModelFieldFlags.PageItems) === rust.ModelFieldFlags.PageItems) {
|
|
141
|
+
pageItemsField = field;
|
|
142
|
+
break;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
if (!pageItemsField) {
|
|
146
|
+
throw new CodegenError('InternalError', `didn't find page items field in model ${model.name}`);
|
|
147
|
+
}
|
|
148
|
+
use.addForType(model);
|
|
149
|
+
use.addForType(pageItemsField.type);
|
|
150
|
+
use.add('async_trait', 'async_trait');
|
|
151
|
+
use.add('azure_core', 'http::Page', 'Result');
|
|
152
|
+
const indent = new helpers.indentation();
|
|
153
|
+
let content = '#[cfg_attr(not(target_arch = "wasm32"), async_trait)]\n';
|
|
154
|
+
content += '#[cfg_attr(target_arch = "wasm32", async_trait(?Send))]\n';
|
|
155
|
+
content += `impl Page for ${model.name} {\n`;
|
|
156
|
+
content += `${indent.get()}type Item = ${helpers.getTypeDeclaration(helpers.unwrapType(pageItemsField.type))};\n`;
|
|
157
|
+
content += `${indent.get()}type IntoIter = <${helpers.getTypeDeclaration(pageItemsField.type)} as IntoIterator>::IntoIter;\n`;
|
|
158
|
+
content += `${indent.get()}async fn into_items(self) -> Result<Self::IntoIter> {\n`;
|
|
159
|
+
content += `${indent.push().get()}Ok(self.${pageItemsField.name}.into_iter())\n`;
|
|
160
|
+
content += `${indent.pop().get()}}\n`; // end fn
|
|
161
|
+
content += '}\n\n'; // end impl
|
|
162
|
+
return content;
|
|
163
|
+
}
|
|
142
164
|
}
|
|
143
165
|
//# sourceMappingURL=context.js.map
|
|
@@ -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
|
|
140
|
+
use.addForType(trait.implFor);
|
|
141
|
+
body += `impl ${trait.name} for ${helpers.getTypeDeclaration(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
|
|
225
|
+
implsFor.push(`impl Sealed for ${helpers.getTypeDeclaration(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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"}
|
|
@@ -145,4 +145,13 @@ export declare function unwrapOption(type: rust.Type): rust.Type;
|
|
|
145
145
|
* @returns the wrapped type or the original type if it wasn't wrapped
|
|
146
146
|
*/
|
|
147
147
|
export declare function unwrapType(type: rust.Payload | rust.Type): rust.Type;
|
|
148
|
+
/** the wire format used */
|
|
149
|
+
export type ModelFormat = 'json' | 'xml';
|
|
150
|
+
/**
|
|
151
|
+
* converts a ResponseFormat to json or xml
|
|
152
|
+
*
|
|
153
|
+
* @param format is the format to convert
|
|
154
|
+
* @returns json or xml
|
|
155
|
+
*/
|
|
156
|
+
export declare function convertResponseFormat(format: Exclude<rust.ResponseFormat, 'NoFormat'>): ModelFormat;
|
|
148
157
|
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -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":"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"}
|
|
@@ -137,10 +137,15 @@ export function getTypeDeclaration(type, withAnonymousLifetime = false) {
|
|
|
137
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
|
+
// we explicitly omit the Response<T> from the type decl
|
|
144
|
+
return `Pager<${getTypeDeclaration(type.type.content, withAnonymousLifetime)}>`;
|
|
142
145
|
case 'payload':
|
|
143
146
|
return getTypeDeclaration(type.type, withAnonymousLifetime);
|
|
147
|
+
case 'rawResponse':
|
|
148
|
+
return type.name;
|
|
144
149
|
case 'ref':
|
|
145
150
|
return `&${getTypeDeclaration(type.type)}`;
|
|
146
151
|
case 'requestContent':
|
|
@@ -154,18 +159,8 @@ export function getTypeDeclaration(type, withAnonymousLifetime = false) {
|
|
|
154
159
|
case 'result':
|
|
155
160
|
return `${type.name}<${getTypeDeclaration(type.type, withAnonymousLifetime)}>`;
|
|
156
161
|
case 'response':
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
return `${type.name}<${type.content.name}>`;
|
|
160
|
-
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
|
-
case 'unit':
|
|
166
|
-
return `${type.name}<${getTypeDeclaration(type.content)}>`;
|
|
167
|
-
}
|
|
168
|
-
break;
|
|
162
|
+
// JsonFormat is the default, so we can elide it
|
|
163
|
+
return `${type.name}<${getTypeDeclaration(type.content)}${type.format !== 'JsonFormat' ? `, ${type.format}` : ''}>`;
|
|
169
164
|
case 'String':
|
|
170
165
|
case 'Url':
|
|
171
166
|
case 'str':
|
|
@@ -356,12 +351,27 @@ export function unwrapType(type) {
|
|
|
356
351
|
case 'slice':
|
|
357
352
|
case 'Vec':
|
|
358
353
|
return unwrapType(type.type);
|
|
354
|
+
case 'pageIterator':
|
|
359
355
|
case 'pager':
|
|
360
|
-
return type.type.
|
|
356
|
+
return unwrapType(type.type.content);
|
|
361
357
|
case 'payload':
|
|
362
358
|
return unwrapType(type.type);
|
|
363
359
|
default:
|
|
364
360
|
return type;
|
|
365
361
|
}
|
|
366
362
|
}
|
|
363
|
+
/**
|
|
364
|
+
* converts a ResponseFormat to json or xml
|
|
365
|
+
*
|
|
366
|
+
* @param format is the format to convert
|
|
367
|
+
* @returns json or xml
|
|
368
|
+
*/
|
|
369
|
+
export function convertResponseFormat(format) {
|
|
370
|
+
switch (format) {
|
|
371
|
+
case 'JsonFormat':
|
|
372
|
+
return 'json';
|
|
373
|
+
case 'XmlFormat':
|
|
374
|
+
return 'xml';
|
|
375
|
+
}
|
|
376
|
+
}
|
|
367
377
|
//# 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":"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,wDAAwD;YACxD,OAAO,SAAS,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,qBAAqB,CAAC,GAAG,CAAC;QAClF,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,gDAAgD;YAChD,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,KAAK,YAAY,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;QACtH,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,+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,CAAC;QACpB,KAAK,OAAO;YACV,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvC,KAAK,SAAS;YACZ,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAKD;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAgD;IACpF,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,YAAY;YACf,OAAO,MAAM,CAAC;QAChB,KAAK,WAAW;YACd,OAAO,KAAK,CAAC;IACjB,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);
|
|
@@ -147,13 +144,34 @@ function emitModelsInternal(crate, context, visibility) {
|
|
|
147
144
|
* returns serde helpers for public models.
|
|
148
145
|
* if no helpers are required, undefined is returned.
|
|
149
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
|
+
*
|
|
150
168
|
* @param crate the crate for which to emit model serde helpers
|
|
151
169
|
* @param context the context for the provided crate
|
|
152
170
|
* @returns the model serde helpers content or undefined
|
|
153
171
|
*/
|
|
154
|
-
function
|
|
172
|
+
function emitModelImpls(crate, context) {
|
|
155
173
|
const use = new Use('modelsOther');
|
|
156
|
-
|
|
174
|
+
const entries = new Array();
|
|
157
175
|
// emit TryFrom as required
|
|
158
176
|
for (const model of crate.models) {
|
|
159
177
|
if (model.kind === 'marker' || model.visibility !== 'pub') {
|
|
@@ -163,26 +181,25 @@ function emitModelsSerde(crate, context) {
|
|
|
163
181
|
const forReq = context.getTryFromForRequestContent(model, use);
|
|
164
182
|
// helpers aren't required for all types, so only
|
|
165
183
|
// add a use statement for a type if it has a helper
|
|
166
|
-
if (forReq
|
|
184
|
+
if (forReq) {
|
|
167
185
|
use.addForType(model);
|
|
186
|
+
entries.push(forReq);
|
|
187
|
+
}
|
|
188
|
+
const pageImpl = context.getPageImplForType(model, use);
|
|
189
|
+
if (pageImpl) {
|
|
190
|
+
use.addForType(model);
|
|
191
|
+
entries.push(pageImpl);
|
|
168
192
|
}
|
|
169
|
-
body += forReq;
|
|
170
193
|
}
|
|
171
|
-
|
|
172
|
-
if (body.length === 0 && !serdeHelpers) {
|
|
194
|
+
if (entries.length === 0) {
|
|
173
195
|
// no helpers
|
|
174
196
|
return undefined;
|
|
175
197
|
}
|
|
176
198
|
let content = helpers.contentPreamble();
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
content += body;
|
|
180
|
-
}
|
|
181
|
-
if (serdeHelpers) {
|
|
182
|
-
content += serdeHelpers;
|
|
183
|
-
}
|
|
199
|
+
content += use.text();
|
|
200
|
+
content += entries.sort().join('');
|
|
184
201
|
return {
|
|
185
|
-
name: '
|
|
202
|
+
name: 'models_impl',
|
|
186
203
|
content: content,
|
|
187
204
|
};
|
|
188
205
|
}
|