@azure-tools/typespec-rust 0.23.1 → 0.23.2

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.
@@ -1 +1 @@
1
- {"version":3,"file":"codeGenerator.d.ts","sourceRoot":"","sources":["../../../src/codegen/codeGenerator.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,IAAI,MAAM,uBAAuB,CAAC;AAE9C,qBAAqB;AACrB,MAAM,WAAW,IAAI;IACnB,wDAAwD;IACxD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,+BAA+B;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,0EAA0E;AAC1E,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAa;IAEnC;;;OAGG;gBACS,KAAK,EAAE,IAAI,CAAC,KAAK;IAK7B;;;;OAIG;IACH,aAAa,IAAI,MAAM;IAIvB;;;;OAIG;IACH,SAAS,IAAI,MAAM;IAInB;;;;OAIG;IACH,WAAW,IAAI,KAAK,CAAC,IAAI,CAAC;CA6C3B"}
1
+ {"version":3,"file":"codeGenerator.d.ts","sourceRoot":"","sources":["../../../src/codegen/codeGenerator.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,IAAI,MAAM,uBAAuB,CAAC;AAE9C,qBAAqB;AACrB,MAAM,WAAW,IAAI;IACnB,wDAAwD;IACxD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,+BAA+B;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,0EAA0E;AAC1E,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAa;IAEnC;;;OAGG;gBACS,KAAK,EAAE,IAAI,CAAC,KAAK;IAK7B;;;;OAIG;IACH,aAAa,IAAI,MAAM;IAIvB;;;;OAIG;IACH,SAAS,IAAI,MAAM;IAInB;;;;OAIG;IACH,WAAW,IAAI,KAAK,CAAC,IAAI,CAAC;CAiD3B"}
@@ -64,14 +64,17 @@ export class CodeGenerator {
64
64
  files.push({ name: `${clientsSubDir}/mod.rs`, content: emitClientsModRs(clientModules.modules.map((module) => module.name)) });
65
65
  addModelsFile(clientModules.options, 'pubUse');
66
66
  }
67
- addModelsFile(emitEnums(this.crate, this.context), 'pubUse');
67
+ const enums = emitEnums(this.crate, this.context);
68
+ addModelsFile(enums.public, 'pubUse');
69
+ addModelsFile(enums.serde, 'internal');
70
+ addModelsFile(enums.impls, 'internal');
68
71
  addModelsFile(emitUnions(this.crate, this.context), 'pubUse');
69
72
  const models = emitModels(this.crate, this.context);
70
73
  addModelsFile(models.public, 'pubUse');
71
- addModelsFile(models.serde, 'pubCrate');
74
+ addModelsFile(models.serde, 'internal');
72
75
  addModelsFile(models.impls, 'internal');
73
76
  addModelsFile(models.internal, 'pubCrate');
74
- addModelsFile(models.xmlHelpers, 'pubCrate');
77
+ addModelsFile(models.xmlHelpers, 'internal');
75
78
  addModelsFile(emitHeaderTraits(this.crate), 'pubUse');
76
79
  if (modelsModRS.length > 0) {
77
80
  files.push({ name: `${modelsSubDir}/mod.rs`, content: emitModelsModRs(modelsModRS) });
@@ -1 +1 @@
1
- {"version":3,"file":"codeGenerator.js","sourceRoot":"","sources":["../../../src/codegen/codeGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codeGenerator.js","sourceRoot":"","sources":["../../../src/codegen/codeGenerator.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,22 @@
1
1
  import { Context } from './context.js';
2
2
  import * as helpers from './helpers.js';
3
3
  import * as rust from '../codemodel/index.js';
4
+ /** contains different types of enumerations to emit */
5
+ export interface Enums {
6
+ /** enumerations that are part of public surface area */
7
+ public?: helpers.Module;
8
+ /** serde helpers for public enumerations */
9
+ serde?: helpers.Module;
10
+ /** trait impls for public enumerations */
11
+ impls?: helpers.Module;
12
+ }
4
13
  /**
5
14
  * returns the emitted enum types, or undefined if the
6
15
  * crate contains no enum types.
7
16
  *
8
17
  * @param crate the crate for which to emit enums
9
18
  * @param context the context for the provided crate
10
- * @returns the enum content or undefined
19
+ * @returns the enum models or undefined
11
20
  */
12
- export declare function emitEnums(crate: rust.Crate, context: Context): helpers.Module | undefined;
21
+ export declare function emitEnums(crate: rust.Crate, context: Context): Enums;
13
22
  //# sourceMappingURL=enums.d.ts.map
@@ -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,CAyDzF"}
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,uDAAuD;AACvD,MAAM,WAAW,KAAK;IACpB,wDAAwD;IACxD,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC;IAExB,4CAA4C;IAC5C,KAAK,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC;IAEvB,0CAA0C;IAC1C,KAAK,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC;CACxB;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,GAAG,KAAK,CAUpE"}
@@ -10,45 +10,55 @@ import { Use } from './use.js';
10
10
  *
11
11
  * @param crate the crate for which to emit enums
12
12
  * @param context the context for the provided crate
13
- * @returns the enum content or undefined
13
+ * @returns the enum models or undefined
14
14
  */
15
15
  export function emitEnums(crate, context) {
16
- var _a;
17
16
  if (crate.enums.length === 0) {
18
- return undefined;
17
+ return {};
19
18
  }
19
+ return {
20
+ public: emitEnumsPublic(crate),
21
+ serde: emitEnumsSerde(crate),
22
+ impls: emitEnumsImpls(crate, context),
23
+ };
24
+ }
25
+ function emitEnumsPublic(crate) {
20
26
  const use = new Use('models');
21
- // note that create_extensible_enum uses create_enum, so it will always be used
22
- use.add('azure_core', 'create_enum');
23
27
  const indent = new helpers.indentation();
24
28
  let body = '';
25
29
  for (const rustEnum of crate.enums) {
26
- let enumType = 'create_enum';
27
- if (rustEnum.extensible) {
28
- use.add('azure_core', 'create_extensible_enum');
29
- enumType = 'create_extensible_enum';
30
- }
31
- body += `${enumType}!(\n`;
32
- const docs = helpers.formatDocComment(rustEnum.docs, true);
33
- if (docs.length > 0) {
34
- body += `${indent.get()}#[doc = r#"${docs.substring(0, docs.length - 1)}"#]\n`;
35
- }
36
- body += `${indent.get()}${rustEnum.name},\n`;
37
- for (let i = 0; i < rustEnum.values.length; ++i) {
38
- const value = rustEnum.values[i];
39
- const docs = helpers.formatDocComment(value.docs, true);
40
- if (docs.length > 0) {
41
- body += `${indent.get()}#[doc = r#"${docs.substring(0, docs.length - 1)}"#]\n`;
42
- }
43
- // TODO: hard-coded String type
44
- // https://github.com/Azure/typespec-rust/issues/25
45
- body += `${indent.get()}(${value.name}, "${value.value}")`;
46
- if (i + 1 < rustEnum.values.length) {
47
- body += ',';
48
- }
49
- body += '\n';
50
- }
51
- body += ');\n\n'; // end enum macro
30
+ body += emitEnumPublicDefinitions(use, rustEnum, indent);
31
+ }
32
+ let content = helpers.contentPreamble();
33
+ content += use.text();
34
+ content += body;
35
+ return {
36
+ name: 'enums',
37
+ content: content,
38
+ };
39
+ }
40
+ function emitEnumsSerde(crate) {
41
+ const use = new Use('models');
42
+ const indent = new helpers.indentation();
43
+ let body = '';
44
+ for (const rustEnum of crate.enums) {
45
+ body += emitEnumSerdeDefinitions(use, rustEnum, indent);
46
+ }
47
+ let content = helpers.contentPreamble();
48
+ content += use.text();
49
+ content += body;
50
+ return {
51
+ name: 'enums_serde',
52
+ content: content,
53
+ };
54
+ }
55
+ function emitEnumsImpls(crate, context) {
56
+ var _a;
57
+ const use = new Use('models');
58
+ const indent = new helpers.indentation();
59
+ let body = '';
60
+ for (const rustEnum of crate.enums) {
61
+ body += emitEnumImplDefinitions(use, rustEnum, indent);
52
62
  }
53
63
  // emit impls as required
54
64
  for (const rustEnum of crate.enums) {
@@ -58,8 +68,163 @@ export function emitEnums(crate, context) {
58
68
  content += use.text();
59
69
  content += body;
60
70
  return {
61
- name: 'enums',
71
+ name: 'enums_impl',
62
72
  content: content,
63
73
  };
64
74
  }
75
+ function emitEnumPublicDefinitions(use, rustEnum, indent) {
76
+ let body = '';
77
+ // The formatDocComment function adds a trailing \n we don't want.
78
+ const docs = helpers.formatDocComment(rustEnum.docs, false);
79
+ if (docs.length > 0) {
80
+ body += indent.get() + `${docs.substring(0, docs.length - 1)}\n`;
81
+ }
82
+ body += indent.get() + `#[derive(Debug, PartialEq, Eq, Clone`;
83
+ if (!rustEnum.extensible) {
84
+ body += ', Copy';
85
+ }
86
+ body += `)]\n`;
87
+ body += indent.get() + `#[non_exhaustive]\n`;
88
+ body += indent.get() + `pub enum ${rustEnum.name} {\n`;
89
+ indent.push();
90
+ for (let i = 0; i < rustEnum.values.length; ++i) {
91
+ const value = rustEnum.values[i];
92
+ const docs = helpers.formatDocComment(value.docs, false);
93
+ if (docs.length > 0) {
94
+ body += indent.get() + `${docs.substring(0, docs.length - 1)}\n`;
95
+ }
96
+ body += indent.get() + `${value.name},\n`;
97
+ body += '\n';
98
+ if (rustEnum.extensible && i + 1 === rustEnum.values.length) {
99
+ body += indent.get() + `/// Any other value not defined in \`${rustEnum.name}\`.\n`;
100
+ body += indent.get() + `UnknownValue(String),\n`;
101
+ }
102
+ }
103
+ body += indent.pop().get() + '}\n\n';
104
+ return body;
105
+ }
106
+ function emitEnumImplDefinitions(use, rustEnum, indent) {
107
+ // Now add conversions to and from &str, Display, Serialize, Deserialize
108
+ use.add(`crate`, `models::${rustEnum.name}`);
109
+ let body = '';
110
+ if (rustEnum.extensible) {
111
+ use.add("std", "convert::From");
112
+ body += indent.get() + `impl<'a> From<&'a ${rustEnum.name}> for &'a str {\n`;
113
+ indent.push();
114
+ body += indent.get() + `fn from(e: &'a ${rustEnum.name}) -> Self {\n`;
115
+ indent.push();
116
+ body += indent.get() + `match e {\n`;
117
+ indent.push();
118
+ for (let i = 0; i < rustEnum.values.length; ++i) {
119
+ const value = rustEnum.values[i];
120
+ body += indent.get() + `${rustEnum.name}::${value.name} => "${value.value}",\n`;
121
+ }
122
+ body += indent.get() + `${rustEnum.name}::UnknownValue(s) => s.as_ref(),\n`;
123
+ body += indent.pop().get() + `}\n`; // end match
124
+ body += indent.pop().get() + `}\n`; // end fn
125
+ body += indent.pop().get() + `}\n\n`; // end impl
126
+ }
127
+ use.add("std", "str::FromStr");
128
+ body += indent.get() + `impl FromStr for ${rustEnum.name} {\n`;
129
+ indent.push();
130
+ if (rustEnum.extensible) {
131
+ use.add('std', 'convert::Infallible');
132
+ body += indent.get() + `type Err = Infallible;\n`;
133
+ }
134
+ else {
135
+ use.add('azure_core', 'error::Error', 'error::ErrorKind');
136
+ body += indent.get() + `type Err = Error;\n`;
137
+ }
138
+ body += indent.get() + `fn from_str(s: &str) -> ::core::result::Result<Self, <Self as FromStr>::Err> {\n`;
139
+ indent.push();
140
+ body += indent.get() + `Ok(match s {\n`;
141
+ indent.push();
142
+ for (let i = 0; i < rustEnum.values.length; ++i) {
143
+ const value = rustEnum.values[i];
144
+ body += indent.get() + `"${value.value}" => ${rustEnum.name}::${value.name},\n`;
145
+ }
146
+ if (rustEnum.extensible) {
147
+ body += indent.get() + `_ => ${rustEnum.name}::UnknownValue(s.to_string()),\n`;
148
+ }
149
+ else {
150
+ body += indent.get() + `_ => { \n`;
151
+ indent.push();
152
+ body += `return Err(Error::with_message_fn(ErrorKind::DataConversion, || {\n`;
153
+ indent.push();
154
+ body += `format!("unknown variant of ${rustEnum.name} found: \\"{s}\\"")\n`;
155
+ body += indent.pop().get() + `}))\n`;
156
+ indent.pop().get();
157
+ body += `}\n`;
158
+ }
159
+ body += indent.pop().get() + `})\n`; // end match
160
+ body += indent.pop().get() + `}\n`; // end fn
161
+ body += indent.pop().get() + `}\n\n`; // end impl
162
+ use.add("std", "convert::AsRef");
163
+ body += indent.get() + `impl AsRef<str> for ${rustEnum.name} {\n`;
164
+ indent.push();
165
+ body += indent.get() + `fn as_ref(&self) -> &str {\n`;
166
+ indent.push();
167
+ body += indent.get() + `match self {\n`;
168
+ indent.push();
169
+ for (let i = 0; i < rustEnum.values.length; ++i) {
170
+ const value = rustEnum.values[i];
171
+ body += indent.get() + `${rustEnum.name}::${value.name} => "${value.value}",\n`;
172
+ }
173
+ if (rustEnum.extensible) {
174
+ body += indent.get() + `${rustEnum.name}::UnknownValue(s) => s.as_str(),\n`;
175
+ }
176
+ body += indent.pop().get() + `}\n`; // end match
177
+ body += indent.pop().get() + `}\n`; // end fn
178
+ body += indent.pop().get() + `}\n\n`; // end impl
179
+ use.add("std", "fmt::Display", "fmt::Formatter");
180
+ body += indent.get() + `impl Display for ${rustEnum.name} {\n`;
181
+ indent.push();
182
+ body += indent.get() + `fn fmt(&self, f: &mut Formatter<'_>) -> ::std::fmt::Result {\n`;
183
+ indent.push();
184
+ body += indent.get() + `match self {\n`;
185
+ indent.push();
186
+ for (let i = 0; i < rustEnum.values.length; ++i) {
187
+ const value = rustEnum.values[i];
188
+ if (rustEnum.extensible) {
189
+ body += indent.get() + `${rustEnum.name}::${value.name} => f.write_str("${value.value}"),\n`;
190
+ }
191
+ else {
192
+ body += indent.get() + `${rustEnum.name}::${value.name} => Display::fmt("${value.value}", f),\n`;
193
+ }
194
+ }
195
+ if (rustEnum.extensible) {
196
+ body += indent.get() + `${rustEnum.name}::UnknownValue(s) => f.write_str(s.as_str()),\n`;
197
+ }
198
+ body += indent.pop().get() + `}\n`; // end match
199
+ body += indent.pop().get() + `}\n`; // end fn
200
+ body += indent.pop().get() + `}\n\n`; // end impl
201
+ return body;
202
+ }
203
+ function emitEnumSerdeDefinitions(use, rustEnum, indent) {
204
+ use.add(`crate`, `models::${rustEnum.name}`);
205
+ use.add('serde', 'Deserialize', 'Serialize', 'Serializer', 'Deserializer');
206
+ let body = '';
207
+ body += indent.get() + `impl<'de> Deserialize<'de> for ${rustEnum.name} {\n`;
208
+ indent.push();
209
+ body += indent.get() + `fn deserialize<D>(deserializer: D) -> ::core::result::Result<Self, D::Error>\n`;
210
+ body += indent.get() + `where\n`;
211
+ body += indent.get() + `D: Deserializer<'de>,\n`;
212
+ body += indent.get() + `{\n`;
213
+ indent.push();
214
+ body += indent.get() + `let s = String::deserialize(deserializer)?;\n`;
215
+ body += indent.get() + `s.parse().map_err(serde::de::Error::custom)\n`;
216
+ body += indent.pop().get() + `}\n`; // end fn
217
+ body += indent.pop().get() + `}\n\n`; // end impl
218
+ body += indent.get() + `impl Serialize for ${rustEnum.name} {\n`;
219
+ indent.push();
220
+ body += indent.get() + `fn serialize<S>(&self, s: S) -> ::core::result::Result<S::Ok, S::Error>\n`;
221
+ body += indent.get() + `where\n`;
222
+ body += indent.get() + `S: Serializer,\n`;
223
+ body += indent.get() + `{\n`;
224
+ indent.push();
225
+ body += indent.get() + `s.serialize_str(self.as_ref())\n`;
226
+ body += indent.pop().get() + `}\n`; // end fn
227
+ body += indent.pop().get() + `}\n\n`; // end impl
228
+ return body;
229
+ }
65
230
  //# sourceMappingURL=enums.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../src/codegen/enums.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../src/codegen/enums.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@azure-tools/typespec-rust",
3
- "version": "0.23.1",
3
+ "version": "0.23.2",
4
4
  "description": "TypeSpec emitter for Rust SDKs",
5
5
  "type": "module",
6
6
  "packageManager": "pnpm@10.10.0",
@@ -49,11 +49,11 @@
49
49
  "homepage": "https://github.com/Azure/typespec-rust#readme",
50
50
  "readme": "https://github.com/Azure/typespec-rust/blob/main/readme.md",
51
51
  "devDependencies": {
52
- "@azure-tools/azure-http-specs": "0.1.0-alpha.28",
52
+ "@azure-tools/azure-http-specs": "0.1.0-alpha.29",
53
53
  "@azure-tools/typespec-autorest": "~0.60.0",
54
54
  "@azure-tools/typespec-azure-core": "~0.60.0",
55
55
  "@azure-tools/typespec-azure-resource-manager": "~0.60.0",
56
- "@azure-tools/typespec-client-generator-core": "~0.60.1",
56
+ "@azure-tools/typespec-client-generator-core": "~0.60.3",
57
57
  "@eslint/js": "^9.35.0",
58
58
  "@types/node": "^20.19.16",
59
59
  "@typespec/compiler": "^1.4.0",
@@ -73,7 +73,7 @@
73
73
  "vitest": "^3.2.4"
74
74
  },
75
75
  "peerDependencies": {
76
- "@azure-tools/typespec-client-generator-core": ">=0.60.0 <1.0.0",
76
+ "@azure-tools/typespec-client-generator-core": ">=0.60.3 <1.0.0",
77
77
  "@typespec/compiler": "^1.4.0",
78
78
  "@typespec/http": "^1.4.0"
79
79
  },
@@ -96,4 +96,4 @@
96
96
  "@typespec/versioning",
97
97
  "@typespec/xml"
98
98
  ]
99
- }
99
+ }