@azure-tools/typespec-rust 0.36.0 → 0.37.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.d.ts +4 -4
- package/dist/src/codegen/clients.d.ts.map +1 -1
- package/dist/src/codegen/clients.js +167 -67
- package/dist/src/codegen/clients.js.map +1 -1
- package/dist/src/codegen/codeGenerator.d.ts +6 -0
- package/dist/src/codegen/codeGenerator.d.ts.map +1 -1
- package/dist/src/codegen/codeGenerator.js +112 -32
- package/dist/src/codegen/codeGenerator.js.map +1 -1
- package/dist/src/codegen/context.d.ts +10 -0
- package/dist/src/codegen/context.d.ts.map +1 -1
- package/dist/src/codegen/context.js +57 -15
- package/dist/src/codegen/context.js.map +1 -1
- package/dist/src/codegen/docTests.d.ts +1 -2
- package/dist/src/codegen/docTests.d.ts.map +1 -1
- package/dist/src/codegen/docTests.js +13 -3
- package/dist/src/codegen/docTests.js.map +1 -1
- package/dist/src/codegen/enums.d.ts +4 -4
- package/dist/src/codegen/enums.d.ts.map +1 -1
- package/dist/src/codegen/enums.js +21 -21
- package/dist/src/codegen/enums.js.map +1 -1
- package/dist/src/codegen/headerTraits.d.ts +2 -2
- package/dist/src/codegen/headerTraits.d.ts.map +1 -1
- package/dist/src/codegen/headerTraits.js +17 -9
- package/dist/src/codegen/headerTraits.js.map +1 -1
- package/dist/src/codegen/helpers.d.ts +12 -3
- package/dist/src/codegen/helpers.d.ts.map +1 -1
- package/dist/src/codegen/helpers.js +19 -13
- package/dist/src/codegen/helpers.js.map +1 -1
- package/dist/src/codegen/lib.d.ts +3 -1
- package/dist/src/codegen/lib.d.ts.map +1 -1
- package/dist/src/codegen/lib.js +5 -1
- package/dist/src/codegen/lib.js.map +1 -1
- package/dist/src/codegen/mod.d.ts +9 -2
- package/dist/src/codegen/mod.d.ts.map +1 -1
- package/dist/src/codegen/mod.js +25 -9
- package/dist/src/codegen/mod.js.map +1 -1
- package/dist/src/codegen/models.d.ts +4 -4
- package/dist/src/codegen/models.d.ts.map +1 -1
- package/dist/src/codegen/models.js +76 -30
- package/dist/src/codegen/models.js.map +1 -1
- package/dist/src/codegen/unions.d.ts +4 -4
- package/dist/src/codegen/unions.d.ts.map +1 -1
- package/dist/src/codegen/unions.js +71 -45
- package/dist/src/codegen/unions.js.map +1 -1
- package/dist/src/codegen/use.d.ts +4 -2
- package/dist/src/codegen/use.d.ts.map +1 -1
- package/dist/src/codegen/use.js +22 -26
- package/dist/src/codegen/use.js.map +1 -1
- package/dist/src/codemodel/client.d.ts +30 -15
- package/dist/src/codemodel/client.d.ts.map +1 -1
- package/dist/src/codemodel/client.js +11 -7
- package/dist/src/codemodel/client.js.map +1 -1
- package/dist/src/codemodel/crate.d.ts +42 -12
- package/dist/src/codemodel/crate.d.ts.map +1 -1
- package/dist/src/codemodel/crate.js +21 -46
- package/dist/src/codemodel/crate.js.map +1 -1
- package/dist/src/codemodel/types.d.ts +60 -34
- package/dist/src/codemodel/types.d.ts.map +1 -1
- package/dist/src/codemodel/types.js +26 -10
- package/dist/src/codemodel/types.js.map +1 -1
- package/dist/src/emitter.d.ts.map +1 -1
- package/dist/src/emitter.js +40 -12
- package/dist/src/emitter.js.map +1 -1
- package/dist/src/lib.d.ts +2 -0
- package/dist/src/lib.d.ts.map +1 -1
- package/dist/src/lib.js +6 -0
- package/dist/src/lib.js.map +1 -1
- package/dist/src/tcgcadapter/adapter.d.ts +75 -13
- package/dist/src/tcgcadapter/adapter.d.ts.map +1 -1
- package/dist/src/tcgcadapter/adapter.js +655 -173
- package/dist/src/tcgcadapter/adapter.js.map +1 -1
- package/dist/src/utils/utils.d.ts +7 -4
- package/dist/src/utils/utils.d.ts.map +1 -1
- package/dist/src/utils/utils.js +25 -23
- package/dist/src/utils/utils.js.map +1 -1
- package/package.json +17 -17
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as tsp from '@typespec/compiler';
|
|
2
|
+
import * as http from '@typespec/http';
|
|
2
3
|
import { RustEmitterOptions } from '../lib.js';
|
|
3
4
|
import * as rust from '../codemodel/index.js';
|
|
4
|
-
import { EmitContext } from "@typespec/compiler";
|
|
5
5
|
/** ErrorCode defines the types of adapter errors */
|
|
6
6
|
export type ErrorCode =
|
|
7
7
|
/** the emitter encountered an internal error. this is always a bug in the emitter */
|
|
@@ -43,14 +43,22 @@ export declare class Adapter {
|
|
|
43
43
|
private readonly crate;
|
|
44
44
|
private readonly ctx;
|
|
45
45
|
private readonly options;
|
|
46
|
+
private readonly rootNamespace;
|
|
46
47
|
private readonly types;
|
|
47
48
|
private readonly clientMethodParams;
|
|
48
49
|
private readonly fieldsMap;
|
|
49
50
|
private constructor();
|
|
50
51
|
/** performs all the steps to convert tcgc to a crate */
|
|
51
|
-
tcgcToCrate(
|
|
52
|
+
tcgcToCrate(): rust.Crate;
|
|
52
53
|
/** converts tcgc docs to formatted rust.Docs */
|
|
53
54
|
private adaptDocs;
|
|
55
|
+
/**
|
|
56
|
+
* adapts the specified namespace to a hierarchy of Rust modules
|
|
57
|
+
*
|
|
58
|
+
* @param namespace the namespace for which to return the package
|
|
59
|
+
* @returns the leaf module in the namespace
|
|
60
|
+
*/
|
|
61
|
+
private adaptNamespace;
|
|
54
62
|
/** converts all tcgc types to their Rust type equivalent */
|
|
55
63
|
private adaptTypes;
|
|
56
64
|
/**
|
|
@@ -92,6 +100,55 @@ export declare class Adapter {
|
|
|
92
100
|
*/
|
|
93
101
|
private getDiscriminatedUnion;
|
|
94
102
|
private getSerializedPropertyName;
|
|
103
|
+
/**
|
|
104
|
+
* converts a non-discriminated tcgc union to either a flat merged Rust Enum (union-of-enums)
|
|
105
|
+
* or a Rust UntaggedUnion (#[serde(untagged)] enum).
|
|
106
|
+
* self-registers the result in the owning module and caches it.
|
|
107
|
+
*
|
|
108
|
+
* @param src the non-discriminated tcgc union
|
|
109
|
+
* @returns a Rust Enum or UntaggedUnion
|
|
110
|
+
*/
|
|
111
|
+
private getNonDiscriminatedUnion;
|
|
112
|
+
/**
|
|
113
|
+
* synthesizes a union name for anonymous inline unions by concatenating variant type names
|
|
114
|
+
*
|
|
115
|
+
* @param src the non-discriminated tcgc union
|
|
116
|
+
* @returns a PascalCase name for the union
|
|
117
|
+
*/
|
|
118
|
+
private synthesizeUnionName;
|
|
119
|
+
/**
|
|
120
|
+
* builds a flat merged Rust Enum from a union whose every variant is a TSP enum type.
|
|
121
|
+
* all variant enum values are merged into a single flat enum.
|
|
122
|
+
*
|
|
123
|
+
* @param unionName the PascalCase name for the resulting enum
|
|
124
|
+
* @param src the non-discriminated tcgc union
|
|
125
|
+
* @returns a flat merged Rust Enum
|
|
126
|
+
*/
|
|
127
|
+
private getMergedFlatEnum;
|
|
128
|
+
/**
|
|
129
|
+
* builds an UntaggedUnion (#[serde(untagged)] enum) from a non-discriminated tcgc union
|
|
130
|
+
* whose variants are not all enum types.
|
|
131
|
+
*
|
|
132
|
+
* @param unionName the PascalCase name for the resulting union
|
|
133
|
+
* @param src the non-discriminated tcgc union
|
|
134
|
+
* @returns a Rust UntaggedUnion
|
|
135
|
+
*/
|
|
136
|
+
private buildUntaggedUnion;
|
|
137
|
+
/**
|
|
138
|
+
* returns the sort order for a variant in a #[serde(untagged)] enum.
|
|
139
|
+
* more specific types must come before more general ones to ensure correct deserialization.
|
|
140
|
+
*
|
|
141
|
+
* @param variant the tcgc type to get the order for
|
|
142
|
+
* @returns a numeric sort key (lower = earlier)
|
|
143
|
+
*/
|
|
144
|
+
private getUntaggedVariantOrder;
|
|
145
|
+
/**
|
|
146
|
+
* returns the Rust variant name (PascalCase) for a variant in a #[serde(untagged)] enum.
|
|
147
|
+
*
|
|
148
|
+
* @param variant the tcgc type to name
|
|
149
|
+
* @returns a PascalCase Rust variant name
|
|
150
|
+
*/
|
|
151
|
+
private getUntaggedVariantName;
|
|
95
152
|
/**
|
|
96
153
|
* converts a tcgc model property to a model field
|
|
97
154
|
*
|
|
@@ -242,6 +299,7 @@ export declare class Adapter {
|
|
|
242
299
|
*
|
|
243
300
|
* @param opParam the tcgc operation parameter to convert
|
|
244
301
|
* @param methodParam the tcgc method parameter associated with opParam
|
|
302
|
+
* @param lifetime optional lifetime to stamp on borrowed ref types (used for grouped params that are struct fields)
|
|
245
303
|
* @returns a Rust method parameter
|
|
246
304
|
*/
|
|
247
305
|
private adaptMethodParameter;
|
|
@@ -253,6 +311,7 @@ export declare class Adapter {
|
|
|
253
311
|
*
|
|
254
312
|
* @param type the param type to be updated
|
|
255
313
|
* @param kind the kind of param
|
|
314
|
+
* @param lifetime optional lifetime to stamp on Ref types (used for struct fields)
|
|
256
315
|
* @returns the updated param type or undefined
|
|
257
316
|
*/
|
|
258
317
|
private canBorrowMethodParam;
|
|
@@ -274,18 +333,21 @@ export declare class Adapter {
|
|
|
274
333
|
*/
|
|
275
334
|
private adaptMethodSpreadParameter;
|
|
276
335
|
/**
|
|
277
|
-
*
|
|
278
|
-
*
|
|
279
|
-
* @param contentType the value of the Content-Type header
|
|
280
|
-
* @returns a payload format
|
|
281
|
-
*/
|
|
282
|
-
private adaptPayloadFormat;
|
|
283
|
-
/**
|
|
284
|
-
* converts an accept or content-type header value into a payload format type
|
|
336
|
+
* determines the payload format type from serializationOptions on the type, falling
|
|
337
|
+
* back to inspecting the defaultContentType when serializationOptions isn't available.
|
|
285
338
|
*
|
|
286
|
-
* @param
|
|
287
|
-
* @
|
|
339
|
+
* @param type the SDK type associated with the payload, if available
|
|
340
|
+
* @param defaultContentType the value of the Accept or Content-Type header
|
|
341
|
+
* @returns a payload format type
|
|
288
342
|
*/
|
|
289
|
-
private
|
|
343
|
+
private getPayloadFormatType;
|
|
290
344
|
}
|
|
345
|
+
/**
|
|
346
|
+
* converts an array of Visibility flags to a sorted, human-readable string.
|
|
347
|
+
* returns undefined if visibility is unrestricted (all flags or undefined).
|
|
348
|
+
*
|
|
349
|
+
* @param visibility the visibility flags from TCGC
|
|
350
|
+
* @returns a formatted string like "Read" or "Create, Update", or undefined if unrestricted
|
|
351
|
+
*/
|
|
352
|
+
export declare function formatVisibility(visibility?: http.Visibility[]): string | undefined;
|
|
291
353
|
//# sourceMappingURL=adapter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/tcgcadapter/adapter.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,GAAG,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/tcgcadapter/adapter.ts"],"names":[],"mappings":"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"}
|