@azure-tools/typespec-rust 0.1.0 → 0.3.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/cargotoml.d.ts +6 -0
- package/dist/src/codegen/cargotoml.d.ts.map +1 -1
- package/dist/src/codegen/cargotoml.js +6 -1
- package/dist/src/codegen/cargotoml.js.map +1 -1
- package/dist/src/codegen/clients.d.ts +19 -2
- package/dist/src/codegen/clients.d.ts.map +1 -1
- package/dist/src/codegen/clients.js +489 -250
- package/dist/src/codegen/clients.js.map +1 -1
- package/dist/src/codegen/codeGenerator.d.ts +29 -6
- package/dist/src/codegen/codeGenerator.d.ts.map +1 -1
- package/dist/src/codegen/codeGenerator.js +64 -25
- package/dist/src/codegen/codeGenerator.js.map +1 -1
- package/dist/src/codegen/context.d.ts +41 -0
- package/dist/src/codegen/context.d.ts.map +1 -1
- package/dist/src/codegen/context.js +94 -15
- package/dist/src/codegen/context.js.map +1 -1
- package/dist/src/codegen/enums.d.ts +9 -1
- package/dist/src/codegen/enums.d.ts.map +1 -1
- package/dist/src/codegen/enums.js +34 -20
- package/dist/src/codegen/enums.js.map +1 -1
- package/dist/src/codegen/helpers.d.ts +116 -2
- package/dist/src/codegen/helpers.d.ts.map +1 -1
- package/dist/src/codegen/helpers.js +148 -18
- package/dist/src/codegen/helpers.js.map +1 -1
- package/dist/src/codegen/lib.d.ts +7 -1
- package/dist/src/codegen/lib.d.ts.map +1 -1
- package/dist/src/codegen/lib.js +10 -5
- package/dist/src/codegen/lib.js.map +1 -1
- package/dist/src/codegen/mod.d.ts +6 -1
- package/dist/src/codegen/mod.d.ts.map +1 -1
- package/dist/src/codegen/mod.js +9 -10
- package/dist/src/codegen/mod.js.map +1 -1
- package/dist/src/codegen/models.d.ts +20 -1
- package/dist/src/codegen/models.d.ts.map +1 -1
- package/dist/src/codegen/models.js +250 -13
- package/dist/src/codegen/models.js.map +1 -1
- package/dist/src/codegen/use.d.ts +32 -0
- package/dist/src/codegen/use.d.ts.map +1 -1
- package/dist/src/codegen/use.js +42 -15
- package/dist/src/codegen/use.js.map +1 -1
- package/dist/src/codemodel/client.d.ts +150 -11
- package/dist/src/codemodel/client.d.ts.map +1 -1
- package/dist/src/codemodel/client.js +60 -17
- package/dist/src/codemodel/client.js.map +1 -1
- package/dist/src/codemodel/crate.d.ts +33 -0
- package/dist/src/codemodel/crate.d.ts.map +1 -1
- package/dist/src/codemodel/crate.js +17 -0
- package/dist/src/codemodel/crate.js.map +1 -1
- package/dist/src/codemodel/method.d.ts +17 -0
- package/dist/src/codemodel/method.d.ts.map +1 -1
- package/dist/src/codemodel/types.d.ts +152 -24
- package/dist/src/codemodel/types.d.ts.map +1 -1
- package/dist/src/codemodel/types.js +39 -25
- package/dist/src/codemodel/types.js.map +1 -1
- package/dist/src/emitter.d.ts +5 -0
- package/dist/src/emitter.d.ts.map +1 -1
- package/dist/src/emitter.js +36 -23
- 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 -1
- package/dist/src/lib.js.map +1 -1
- package/dist/src/tcgcadapter/adapter.d.ts +73 -1
- package/dist/src/tcgcadapter/adapter.d.ts.map +1 -1
- package/dist/src/tcgcadapter/adapter.js +342 -81
- package/dist/src/tcgcadapter/adapter.js.map +1 -1
- package/dist/src/tcgcadapter/helpers.d.ts +18 -0
- package/dist/src/tcgcadapter/helpers.d.ts.map +1 -1
- package/dist/src/tcgcadapter/helpers.js +23 -2
- package/dist/src/tcgcadapter/helpers.js.map +1 -1
- package/dist/src/tcgcadapter/naming.d.ts +8 -0
- package/dist/src/tcgcadapter/naming.d.ts.map +1 -1
- package/dist/src/tcgcadapter/naming.js +8 -5
- package/dist/src/tcgcadapter/naming.js.map +1 -1
- package/package.json +21 -23
|
@@ -1,101 +1,225 @@
|
|
|
1
1
|
import * as method from './method.js';
|
|
2
2
|
import * as types from './types.js';
|
|
3
|
+
/** Client is a SDK client */
|
|
3
4
|
export interface Client {
|
|
4
5
|
kind: 'client';
|
|
6
|
+
/** the name of the client */
|
|
5
7
|
name: string;
|
|
8
|
+
/** any docs for the client */
|
|
6
9
|
docs: types.Docs;
|
|
10
|
+
/** contains info for instantiable clients */
|
|
7
11
|
constructable?: ClientConstruction;
|
|
12
|
+
/**
|
|
13
|
+
* fields contains the ctor parameters that are
|
|
14
|
+
* persisted as fields on the client type. note that
|
|
15
|
+
* not all ctor params might be persisted, and not
|
|
16
|
+
* all fields are ctor params.
|
|
17
|
+
*/
|
|
8
18
|
fields: Array<ClientParameter>;
|
|
19
|
+
/** all the methods for this client */
|
|
9
20
|
methods: Array<MethodType>;
|
|
21
|
+
/** the parent client in a hierarchical client */
|
|
10
22
|
parent?: Client;
|
|
11
23
|
}
|
|
24
|
+
/** ClientConstruction contains data for instantiable clients. */
|
|
12
25
|
export interface ClientConstruction {
|
|
26
|
+
/** the client options type used in the constructors */
|
|
13
27
|
options: ClientOptions;
|
|
28
|
+
/** the constructor functions for a client. */
|
|
14
29
|
constructors: Array<Constructor>;
|
|
15
30
|
}
|
|
31
|
+
/** ClientOptions is the struct containing optional client params */
|
|
16
32
|
export interface ClientOptions extends types.Option {
|
|
33
|
+
/** the client options type */
|
|
17
34
|
type: types.Struct;
|
|
18
35
|
}
|
|
36
|
+
/** represents a client constructor function */
|
|
19
37
|
export interface Constructor {
|
|
38
|
+
/** name of the constructor */
|
|
20
39
|
name: string;
|
|
40
|
+
/** the modeled parameters. at minimum, an endpoint param */
|
|
21
41
|
parameters: Array<ClientParameter>;
|
|
22
42
|
}
|
|
43
|
+
/** ClientParameter is a Rust client parameter */
|
|
23
44
|
export interface ClientParameter {
|
|
45
|
+
/** the name of the parameter */
|
|
24
46
|
name: string;
|
|
47
|
+
/** the type of the client parameter */
|
|
25
48
|
type: types.Type;
|
|
49
|
+
/** indicates if the parameter is a reference. defaults to false */
|
|
50
|
+
ref: boolean;
|
|
26
51
|
}
|
|
52
|
+
/** HTTPMethod defines the possible HTTP verbs in a request */
|
|
27
53
|
export type HTTPMethod = 'delete' | 'get' | 'head' | 'patch' | 'post' | 'put';
|
|
28
|
-
|
|
54
|
+
/** Method defines the possible method types */
|
|
55
|
+
export type MethodType = AsyncMethod | ClientAccessor | PageableMethod;
|
|
56
|
+
/** AsyncMethod is an async Rust method */
|
|
29
57
|
export interface AsyncMethod extends HTTPMethodBase {
|
|
30
58
|
kind: 'async';
|
|
59
|
+
/** the params passed to the method (excluding self). can be empty */
|
|
31
60
|
params: Array<MethodParameter>;
|
|
32
61
|
}
|
|
62
|
+
/** ClientAccessor is a method that returns a sub-client instance. */
|
|
33
63
|
export interface ClientAccessor extends method.Method<Client> {
|
|
34
64
|
kind: 'clientaccessor';
|
|
65
|
+
/** the client returned by the accessor method */
|
|
35
66
|
returns: Client;
|
|
36
67
|
}
|
|
68
|
+
/** PageableMethod is a method that returns a collection of items over one or more pages. */
|
|
69
|
+
export interface PageableMethod extends HTTPMethodBase {
|
|
70
|
+
kind: 'pageable';
|
|
71
|
+
/** the params passed to the method (excluding self). can be empty */
|
|
72
|
+
params: Array<MethodParameter>;
|
|
73
|
+
/** the paged result */
|
|
74
|
+
returns: types.Result<types.Pager>;
|
|
75
|
+
/**
|
|
76
|
+
* the strategy used to fetch the next page.
|
|
77
|
+
* no strategy indicates the method is modeled as pageable
|
|
78
|
+
* but doesn't (yet) support fetching subsequent pages.
|
|
79
|
+
*/
|
|
80
|
+
strategy?: PageableStrategyKind;
|
|
81
|
+
}
|
|
82
|
+
/** PageableStrategyContinuationToken indicates a pageable method uses the continuation token strategy */
|
|
83
|
+
export interface PageableStrategyContinuationToken {
|
|
84
|
+
kind: 'continuationToken';
|
|
85
|
+
/** the name of the field in the response that contains the continuation token */
|
|
86
|
+
continuationToken: string;
|
|
87
|
+
}
|
|
88
|
+
/** PageableStrategyNextLink indicates a pageable method uses the nextLink strategy */
|
|
89
|
+
export interface PageableStrategyNextLink {
|
|
90
|
+
kind: 'nextLink';
|
|
91
|
+
/** the name of the field in the response that contains the next link URL */
|
|
92
|
+
nextLinkName: string;
|
|
93
|
+
}
|
|
94
|
+
/** PageableStrategyKind contains different strategies for fetching subsequent pages */
|
|
95
|
+
export type PageableStrategyKind = PageableStrategyContinuationToken | PageableStrategyNextLink;
|
|
96
|
+
/** CollectionFormat indicates how a collection is formatted on the wire */
|
|
37
97
|
export type CollectionFormat = 'csv' | 'ssv' | 'tsv' | 'pipes';
|
|
98
|
+
/** ExtendedCollectionFormat includes additional formats */
|
|
38
99
|
export type ExtendedCollectionFormat = CollectionFormat | 'multi';
|
|
100
|
+
/** ParameterLocation indicates where the value of the param originates */
|
|
39
101
|
export type ParameterLocation = 'client' | 'method';
|
|
40
|
-
|
|
102
|
+
/** MethodParameter defines the possible method parameter types */
|
|
103
|
+
export type MethodParameter = BodyParameter | HeaderCollectionParameter | HeaderHashMapParameter | HeaderParameter | PartialBodyParameter | PathParameter | QueryCollectionParameter | QueryParameter;
|
|
104
|
+
/** BodyParameter is a param that's passed via the HTTP request body */
|
|
41
105
|
export interface BodyParameter extends HTTPParameterBase {
|
|
42
106
|
kind: 'body';
|
|
107
|
+
/** the type of the body param */
|
|
43
108
|
type: types.RequestContent;
|
|
44
109
|
}
|
|
110
|
+
/** HeaderCollectionParameter is a param that goes in a HTTP header */
|
|
45
111
|
export interface HeaderCollectionParameter extends HTTPParameterBase {
|
|
46
112
|
kind: 'headerCollection';
|
|
113
|
+
/** the header in the HTTP request */
|
|
47
114
|
header: string;
|
|
115
|
+
/** the collection of header param values */
|
|
48
116
|
type: types.Vector;
|
|
117
|
+
/** the format of the collection */
|
|
49
118
|
format: CollectionFormat;
|
|
50
119
|
}
|
|
120
|
+
/**
|
|
121
|
+
* HeaderHashMapParameter is a param that goes in a HTTP header
|
|
122
|
+
* NOTE: this is a specialized parameter type to support storage.
|
|
123
|
+
*/
|
|
124
|
+
export interface HeaderHashMapParameter extends HTTPParameterBase {
|
|
125
|
+
kind: 'headerHashMap';
|
|
126
|
+
/** the header prefix for each header name in type */
|
|
127
|
+
header: string;
|
|
128
|
+
/** contains key/value pairs of header names/values */
|
|
129
|
+
type: types.HashMap;
|
|
130
|
+
}
|
|
131
|
+
/** HeaderParameter is a param that goes in a HTTP header */
|
|
51
132
|
export interface HeaderParameter extends HTTPParameterBase {
|
|
52
133
|
kind: 'header';
|
|
134
|
+
/** the header in the HTTP request */
|
|
53
135
|
header: string;
|
|
136
|
+
/**
|
|
137
|
+
* the type of the header param
|
|
138
|
+
* note that not all types are applicable
|
|
139
|
+
*/
|
|
54
140
|
type: types.Type;
|
|
55
141
|
}
|
|
142
|
+
/** MethodOptions is the struct containing optional method params */
|
|
56
143
|
export interface MethodOptions extends types.Option {
|
|
57
144
|
type: types.Struct;
|
|
58
145
|
}
|
|
146
|
+
/** PartialBodyParameter is a param that's a field within a type passed via the HTTP request body */
|
|
147
|
+
export interface PartialBodyParameter extends HTTPParameterBase {
|
|
148
|
+
kind: 'partialBody';
|
|
149
|
+
/** the model in which the partial param is placed */
|
|
150
|
+
type: types.RequestContent<types.Model>;
|
|
151
|
+
/** the name of the field over the wire in model.fields for this param */
|
|
152
|
+
serde: string;
|
|
153
|
+
}
|
|
154
|
+
/** PathParameter is a param that goes in the HTTP path */
|
|
59
155
|
export interface PathParameter extends HTTPParameterBase {
|
|
60
156
|
kind: 'path';
|
|
157
|
+
/** the segment name to be replaced with the param's value */
|
|
61
158
|
segment: string;
|
|
159
|
+
/**
|
|
160
|
+
* the type of the path param
|
|
161
|
+
* note that not all types are applicable
|
|
162
|
+
*/
|
|
62
163
|
type: types.Type;
|
|
164
|
+
/** indicates if the path parameter should be URL encoded */
|
|
63
165
|
encoded: boolean;
|
|
64
166
|
}
|
|
167
|
+
/** QueryCollectionParameter is a param that goes in the HTTP query string */
|
|
65
168
|
export interface QueryCollectionParameter extends HTTPParameterBase {
|
|
66
169
|
kind: 'queryCollection';
|
|
170
|
+
/** key is the query param's key name */
|
|
67
171
|
key: string;
|
|
172
|
+
/** the collection of query param values */
|
|
68
173
|
type: types.Vector;
|
|
174
|
+
/** indicates if the query parameter should be URL encoded */
|
|
69
175
|
encoded: boolean;
|
|
176
|
+
/** the format of the collection */
|
|
70
177
|
format: ExtendedCollectionFormat;
|
|
71
178
|
}
|
|
179
|
+
/** QueryParameter is a param that goes in the HTTP query string */
|
|
72
180
|
export interface QueryParameter extends HTTPParameterBase {
|
|
73
181
|
kind: 'query';
|
|
182
|
+
/** key is the query param's key name */
|
|
74
183
|
key: string;
|
|
184
|
+
/**
|
|
185
|
+
* the type of the query param
|
|
186
|
+
* note that not all types are applicable
|
|
187
|
+
*/
|
|
75
188
|
type: types.Type;
|
|
189
|
+
/** indicates if the query parameter should be URL encoded */
|
|
76
190
|
encoded: boolean;
|
|
77
191
|
}
|
|
192
|
+
/** base type for HTTP-based methods */
|
|
78
193
|
interface HTTPMethodBase extends method.Method<types.Type> {
|
|
194
|
+
/** the params passed to the method (excluding self). can be empty */
|
|
79
195
|
params: Array<HTTPParameterBase>;
|
|
196
|
+
/** the method options type for this method */
|
|
80
197
|
options: MethodOptions;
|
|
198
|
+
/** the type returned by the method */
|
|
81
199
|
returns: types.Result;
|
|
200
|
+
/** the HTTP verb used for the request */
|
|
82
201
|
httpMethod: HTTPMethod;
|
|
202
|
+
/** the HTTP path for the request */
|
|
83
203
|
httpPath: string;
|
|
84
204
|
}
|
|
205
|
+
/** base type for HTTP-based method parameters */
|
|
85
206
|
interface HTTPParameterBase extends method.Parameter {
|
|
207
|
+
/** location of the parameter (e.g. client or method) */
|
|
86
208
|
location: ParameterLocation;
|
|
209
|
+
/** optional params go in the method's MethodOptions type */
|
|
210
|
+
optional: boolean;
|
|
87
211
|
}
|
|
88
212
|
declare class HTTPMethodBase extends method.Method<types.Type> implements HTTPMethodBase {
|
|
89
213
|
constructor(name: string, httpMethod: HTTPMethod, httpPath: string, pub: boolean, impl: string, self: method.Self);
|
|
90
214
|
}
|
|
91
215
|
declare class HTTPParameterBase extends method.Parameter {
|
|
92
|
-
constructor(name: string, location: ParameterLocation, type: types.Type);
|
|
216
|
+
constructor(name: string, location: ParameterLocation, optional: boolean, type: types.Type);
|
|
93
217
|
}
|
|
94
218
|
export declare class AsyncMethod extends HTTPMethodBase implements AsyncMethod {
|
|
95
219
|
constructor(name: string, client: Client, pub: boolean, options: MethodOptions, httpMethod: HTTPMethod, httpPath: string);
|
|
96
220
|
}
|
|
97
221
|
export declare class BodyParameter extends HTTPParameterBase implements BodyParameter {
|
|
98
|
-
constructor(name: string, location: ParameterLocation, type: types.RequestContent);
|
|
222
|
+
constructor(name: string, location: ParameterLocation, optional: boolean, type: types.RequestContent);
|
|
99
223
|
}
|
|
100
224
|
export declare class Client implements Client {
|
|
101
225
|
constructor(name: string);
|
|
@@ -110,28 +234,43 @@ export declare class ClientOptions extends types.Option implements ClientOptions
|
|
|
110
234
|
constructor(type: types.Struct);
|
|
111
235
|
}
|
|
112
236
|
export declare class ClientParameter implements ClientParameter {
|
|
113
|
-
constructor(name: string, type: types.Type);
|
|
237
|
+
constructor(name: string, type: types.Type, ref?: boolean);
|
|
114
238
|
}
|
|
115
239
|
export declare class Constructor implements Constructor {
|
|
116
240
|
constructor(name: string);
|
|
117
241
|
}
|
|
118
242
|
export declare class HeaderCollectionParameter extends HTTPParameterBase implements HeaderCollectionParameter {
|
|
119
|
-
constructor(name: string, header: string, location: ParameterLocation, type: types.Vector, format: CollectionFormat);
|
|
243
|
+
constructor(name: string, header: string, location: ParameterLocation, optional: boolean, type: types.Vector, format: CollectionFormat);
|
|
244
|
+
}
|
|
245
|
+
export declare class HeaderHashMapParameter extends HTTPParameterBase implements HeaderHashMapParameter {
|
|
246
|
+
constructor(name: string, header: string, location: ParameterLocation, optional: boolean, type: types.HashMap);
|
|
120
247
|
}
|
|
121
248
|
export declare class HeaderParameter extends HTTPParameterBase implements HeaderParameter {
|
|
122
|
-
constructor(name: string, header: string, location: ParameterLocation, type: types.Type);
|
|
249
|
+
constructor(name: string, header: string, location: ParameterLocation, optional: boolean, type: types.Type);
|
|
123
250
|
}
|
|
124
251
|
export declare class MethodOptions extends types.Option implements MethodOptions {
|
|
125
|
-
constructor(type: types.Struct
|
|
252
|
+
constructor(type: types.Struct);
|
|
253
|
+
}
|
|
254
|
+
export declare class PageableMethod extends HTTPMethodBase implements PageableMethod {
|
|
255
|
+
constructor(name: string, client: Client, pub: boolean, options: MethodOptions, httpMethod: HTTPMethod, httpPath: string);
|
|
256
|
+
}
|
|
257
|
+
export declare class PageableStrategyContinuationToken implements PageableStrategyContinuationToken {
|
|
258
|
+
constructor(continuationToken: string);
|
|
259
|
+
}
|
|
260
|
+
export declare class PageableStrategyNextLink implements PageableStrategyNextLink {
|
|
261
|
+
constructor(nextLinkName: string);
|
|
262
|
+
}
|
|
263
|
+
export declare class PartialBodyParameter extends HTTPParameterBase implements PartialBodyParameter {
|
|
264
|
+
constructor(name: string, location: ParameterLocation, optional: boolean, serde: string, type: types.RequestContent<types.Model>);
|
|
126
265
|
}
|
|
127
266
|
export declare class PathParameter extends HTTPParameterBase implements PathParameter {
|
|
128
|
-
constructor(name: string, segment: string, location: ParameterLocation, type: types.Type, encoded: boolean);
|
|
267
|
+
constructor(name: string, segment: string, location: ParameterLocation, optional: boolean, type: types.Type, encoded: boolean);
|
|
129
268
|
}
|
|
130
269
|
export declare class QueryCollectionParameter extends HTTPParameterBase implements QueryCollectionParameter {
|
|
131
|
-
constructor(name: string, key: string, location: ParameterLocation, type: types.Vector, encoded: boolean, format: ExtendedCollectionFormat);
|
|
270
|
+
constructor(name: string, key: string, location: ParameterLocation, optional: boolean, type: types.Vector, encoded: boolean, format: ExtendedCollectionFormat);
|
|
132
271
|
}
|
|
133
272
|
export declare class QueryParameter extends HTTPParameterBase implements QueryParameter {
|
|
134
|
-
constructor(name: string, key: string, location: ParameterLocation, type: types.Type, encoded: boolean);
|
|
273
|
+
constructor(name: string, key: string, location: ParameterLocation, optional: boolean, type: types.Type, encoded: boolean);
|
|
135
274
|
}
|
|
136
275
|
export {};
|
|
137
276
|
//# sourceMappingURL=client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/codemodel/client.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/codemodel/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,9 +13,10 @@ class HTTPMethodBase extends method.Method {
|
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
15
|
class HTTPParameterBase extends method.Parameter {
|
|
16
|
-
constructor(name, location, type) {
|
|
16
|
+
constructor(name, location, optional, type) {
|
|
17
17
|
super(name, type);
|
|
18
18
|
this.location = location;
|
|
19
|
+
this.optional = optional;
|
|
19
20
|
this.docs = {};
|
|
20
21
|
}
|
|
21
22
|
}
|
|
@@ -30,8 +31,8 @@ export class AsyncMethod extends HTTPMethodBase {
|
|
|
30
31
|
}
|
|
31
32
|
}
|
|
32
33
|
export class BodyParameter extends HTTPParameterBase {
|
|
33
|
-
constructor(name, location, type) {
|
|
34
|
-
super(name, location, type);
|
|
34
|
+
constructor(name, location, optional, type) {
|
|
35
|
+
super(name, location, optional, type);
|
|
35
36
|
this.kind = 'body';
|
|
36
37
|
}
|
|
37
38
|
}
|
|
@@ -60,13 +61,14 @@ export class ClientConstruction {
|
|
|
60
61
|
}
|
|
61
62
|
export class ClientOptions extends types.Option {
|
|
62
63
|
constructor(type) {
|
|
63
|
-
super(type
|
|
64
|
+
super(type);
|
|
64
65
|
}
|
|
65
66
|
}
|
|
66
67
|
export class ClientParameter {
|
|
67
|
-
constructor(name, type) {
|
|
68
|
+
constructor(name, type, ref) {
|
|
68
69
|
this.name = name;
|
|
69
70
|
this.type = type;
|
|
71
|
+
this.ref = ref ? ref : false;
|
|
70
72
|
}
|
|
71
73
|
}
|
|
72
74
|
export class Constructor {
|
|
@@ -76,40 +78,75 @@ export class Constructor {
|
|
|
76
78
|
}
|
|
77
79
|
}
|
|
78
80
|
export class HeaderCollectionParameter extends HTTPParameterBase {
|
|
79
|
-
constructor(name, header, location, type, format) {
|
|
81
|
+
constructor(name, header, location, optional, type, format) {
|
|
80
82
|
validateHeaderPathQueryParamKind(type, 'headerCollection');
|
|
81
|
-
super(name, location, type);
|
|
83
|
+
super(name, location, optional, type);
|
|
82
84
|
this.kind = 'headerCollection';
|
|
83
85
|
this.header = header;
|
|
84
86
|
this.format = format;
|
|
85
87
|
}
|
|
86
88
|
}
|
|
89
|
+
export class HeaderHashMapParameter extends HTTPParameterBase {
|
|
90
|
+
constructor(name, header, location, optional, type) {
|
|
91
|
+
validateHeaderPathQueryParamKind(type, 'headerHashMap');
|
|
92
|
+
super(name, location, optional, type);
|
|
93
|
+
this.kind = 'headerHashMap';
|
|
94
|
+
this.header = header;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
87
97
|
export class HeaderParameter extends HTTPParameterBase {
|
|
88
|
-
constructor(name, header, location, type) {
|
|
98
|
+
constructor(name, header, location, optional, type) {
|
|
89
99
|
validateHeaderPathQueryParamKind(type, 'header');
|
|
90
|
-
super(name, location, type);
|
|
100
|
+
super(name, location, optional, type);
|
|
91
101
|
this.kind = 'header';
|
|
92
102
|
this.header = header;
|
|
93
103
|
}
|
|
94
104
|
}
|
|
95
105
|
export class MethodOptions extends types.Option {
|
|
96
|
-
constructor(type
|
|
97
|
-
super(type
|
|
106
|
+
constructor(type) {
|
|
107
|
+
super(type);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
export class PageableMethod extends HTTPMethodBase {
|
|
111
|
+
constructor(name, client, pub, options, httpMethod, httpPath) {
|
|
112
|
+
super(name, httpMethod, httpPath, pub, client.name, new method.Self(false, true));
|
|
113
|
+
this.kind = 'pageable';
|
|
114
|
+
this.params = new Array();
|
|
115
|
+
this.options = options;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
export class PageableStrategyContinuationToken {
|
|
119
|
+
constructor(continuationToken) {
|
|
120
|
+
this.kind = 'continuationToken';
|
|
121
|
+
this.continuationToken = continuationToken;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
export class PageableStrategyNextLink {
|
|
125
|
+
constructor(nextLinkName) {
|
|
126
|
+
this.kind = 'nextLink';
|
|
127
|
+
this.nextLinkName = nextLinkName;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
export class PartialBodyParameter extends HTTPParameterBase {
|
|
131
|
+
constructor(name, location, optional, serde, type) {
|
|
132
|
+
super(name, location, optional, type);
|
|
133
|
+
this.kind = 'partialBody';
|
|
134
|
+
this.serde = serde;
|
|
98
135
|
}
|
|
99
136
|
}
|
|
100
137
|
export class PathParameter extends HTTPParameterBase {
|
|
101
|
-
constructor(name, segment, location, type, encoded) {
|
|
138
|
+
constructor(name, segment, location, optional, type, encoded) {
|
|
102
139
|
validateHeaderPathQueryParamKind(type, 'path');
|
|
103
|
-
super(name, location, type);
|
|
140
|
+
super(name, location, optional, type);
|
|
104
141
|
this.kind = 'path';
|
|
105
142
|
this.segment = segment;
|
|
106
143
|
this.encoded = encoded;
|
|
107
144
|
}
|
|
108
145
|
}
|
|
109
146
|
export class QueryCollectionParameter extends HTTPParameterBase {
|
|
110
|
-
constructor(name, key, location, type, encoded, format) {
|
|
147
|
+
constructor(name, key, location, optional, type, encoded, format) {
|
|
111
148
|
validateHeaderPathQueryParamKind(type.type, 'queryCollection');
|
|
112
|
-
super(name, location, type);
|
|
149
|
+
super(name, location, optional, type);
|
|
113
150
|
this.kind = 'queryCollection';
|
|
114
151
|
this.key = key;
|
|
115
152
|
this.encoded = encoded;
|
|
@@ -117,9 +154,9 @@ export class QueryCollectionParameter extends HTTPParameterBase {
|
|
|
117
154
|
}
|
|
118
155
|
}
|
|
119
156
|
export class QueryParameter extends HTTPParameterBase {
|
|
120
|
-
constructor(name, key, location, type, encoded) {
|
|
157
|
+
constructor(name, key, location, optional, type, encoded) {
|
|
121
158
|
validateHeaderPathQueryParamKind(type, 'query');
|
|
122
|
-
super(name, location, type);
|
|
159
|
+
super(name, location, optional, type);
|
|
123
160
|
this.kind = 'query';
|
|
124
161
|
this.key = key;
|
|
125
162
|
this.encoded = encoded;
|
|
@@ -128,11 +165,17 @@ export class QueryParameter extends HTTPParameterBase {
|
|
|
128
165
|
function validateHeaderPathQueryParamKind(type, paramKind) {
|
|
129
166
|
switch (type.kind) {
|
|
130
167
|
case 'String':
|
|
168
|
+
case 'encodedBytes':
|
|
131
169
|
case 'enum':
|
|
132
170
|
case 'literal':
|
|
133
171
|
case 'offsetDateTime':
|
|
134
172
|
case 'scalar':
|
|
135
173
|
return;
|
|
174
|
+
case 'hashmap':
|
|
175
|
+
if (paramKind === 'headerHashMap') {
|
|
176
|
+
return;
|
|
177
|
+
}
|
|
178
|
+
break;
|
|
136
179
|
case 'implTrait':
|
|
137
180
|
validateHeaderPathQueryParamKind(type.type, paramKind);
|
|
138
181
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/codemodel/client.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAE/F,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/codemodel/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,24 +1,57 @@
|
|
|
1
1
|
import * as client from './client.js';
|
|
2
2
|
import * as types from './types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Crate is a Rust crate
|
|
5
|
+
* the Rust edition is centrally managed
|
|
6
|
+
*/
|
|
3
7
|
export interface Crate {
|
|
8
|
+
/** the name of the Crate */
|
|
4
9
|
name: string;
|
|
10
|
+
/** the version of the Crate */
|
|
5
11
|
version: string;
|
|
12
|
+
/** the target service type */
|
|
6
13
|
type: ServiceType;
|
|
14
|
+
/** the Crates on which this Crate depends */
|
|
7
15
|
dependencies: Array<CrateDependency>;
|
|
16
|
+
/** enums contains all of the enums for this crate. can be empty */
|
|
8
17
|
enums: Array<types.Enum>;
|
|
18
|
+
/** models contains all of the models for this crate. can be empty */
|
|
9
19
|
models: Array<types.Model>;
|
|
20
|
+
/** clients contains all the clients for this crate. can be empty */
|
|
10
21
|
clients: Array<client.Client>;
|
|
11
22
|
}
|
|
23
|
+
/** ServiceType defines the possible service types */
|
|
12
24
|
export type ServiceType = 'azure-arm' | 'data-plane';
|
|
25
|
+
/**
|
|
26
|
+
* CrateDependency is an external Crate dependency
|
|
27
|
+
* note that dependency versions are centralized which is
|
|
28
|
+
* why there's no version info specified here.
|
|
29
|
+
*/
|
|
13
30
|
export interface CrateDependency {
|
|
31
|
+
/** the name of the Crate */
|
|
14
32
|
name: string;
|
|
15
33
|
}
|
|
34
|
+
/** Module is an entry in a mod.rs file */
|
|
35
|
+
export interface Module {
|
|
36
|
+
/** the name of the module */
|
|
37
|
+
name: string;
|
|
38
|
+
/** if the module is public */
|
|
39
|
+
pub: boolean;
|
|
40
|
+
}
|
|
16
41
|
export declare class Crate implements Crate {
|
|
17
42
|
constructor(name: string, version: string, type: ServiceType);
|
|
43
|
+
/**
|
|
44
|
+
* add a dependency to the crate if it doesn't already exist
|
|
45
|
+
* @param dependency the dependency to add
|
|
46
|
+
*/
|
|
18
47
|
addDependency(dependency: CrateDependency): void;
|
|
48
|
+
/** lexicographically sorts all content */
|
|
19
49
|
sortContent(): void;
|
|
20
50
|
}
|
|
21
51
|
export declare class CrateDependency implements CrateDependency {
|
|
22
52
|
constructor(name: string);
|
|
23
53
|
}
|
|
54
|
+
export declare class Module implements Module {
|
|
55
|
+
constructor(name: string, pub: boolean);
|
|
56
|
+
}
|
|
24
57
|
//# sourceMappingURL=crate.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crate.d.ts","sourceRoot":"","sources":["../../../src/codemodel/crate.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"crate.d.ts","sourceRoot":"","sources":["../../../src/codemodel/crate.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AAEpC;;;GAGG;AACH,MAAM,WAAW,KAAK;IACpB,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAC;IAEb,+BAA+B;IAC/B,OAAO,EAAE,MAAM,CAAC;IAEhB,8BAA8B;IAC9B,IAAI,EAAE,WAAW,CAAC;IAElB,6CAA6C;IAC7C,YAAY,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;IAErC,mEAAmE;IACnE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAEzB,qEAAqE;IACrE,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAE3B,oEAAoE;IACpE,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;CAC/B;AAED,qDAAqD;AACrD,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,YAAY,CAAC;AAErD;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,0CAA0C;AAC1C,MAAM,WAAW,MAAM;IACrB,6BAA6B;IAC7B,IAAI,EAAE,MAAM,CAAC;IAEb,8BAA8B;IAC9B,GAAG,EAAE,OAAO,CAAC;CACd;AAKD,qBAAa,KAAM,YAAW,KAAK;gBACrB,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW;IAU5D;;;OAGG;IACH,aAAa,CAAC,UAAU,EAAE,eAAe,GAAG,IAAI;IAShD,0CAA0C;IAC1C,WAAW,IAAI,IAAI;CA6BpB;AAED,qBAAa,eAAgB,YAAW,eAAe;gBACzC,IAAI,EAAE,MAAM;CAGzB;AAED,qBAAa,MAAO,YAAW,MAAM;gBACvB,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO;CAIvC"}
|
|
@@ -14,6 +14,10 @@ export class Crate {
|
|
|
14
14
|
this.models = new Array();
|
|
15
15
|
this.clients = new Array();
|
|
16
16
|
}
|
|
17
|
+
/**
|
|
18
|
+
* add a dependency to the crate if it doesn't already exist
|
|
19
|
+
* @param dependency the dependency to add
|
|
20
|
+
*/
|
|
17
21
|
addDependency(dependency) {
|
|
18
22
|
for (const dep of this.dependencies) {
|
|
19
23
|
if (dep.name === dependency.name) {
|
|
@@ -22,6 +26,7 @@ export class Crate {
|
|
|
22
26
|
}
|
|
23
27
|
this.dependencies.push(dependency);
|
|
24
28
|
}
|
|
29
|
+
/** lexicographically sorts all content */
|
|
25
30
|
sortContent() {
|
|
26
31
|
const sortAscending = function (a, b) {
|
|
27
32
|
return a < b ? -1 : a > b ? 1 : 0;
|
|
@@ -42,6 +47,12 @@ export class Crate {
|
|
|
42
47
|
if (client.constructable) {
|
|
43
48
|
client.constructable.options.type.fields.sort((a, b) => { return sortAscending(a.name, b.name); });
|
|
44
49
|
}
|
|
50
|
+
for (const method of client.methods) {
|
|
51
|
+
if (method.kind === 'clientaccessor') {
|
|
52
|
+
continue;
|
|
53
|
+
}
|
|
54
|
+
method.options.type.fields.sort((a, b) => { return sortAscending(a.name, b.name); });
|
|
55
|
+
}
|
|
45
56
|
}
|
|
46
57
|
}
|
|
47
58
|
}
|
|
@@ -50,4 +61,10 @@ export class CrateDependency {
|
|
|
50
61
|
this.name = name;
|
|
51
62
|
}
|
|
52
63
|
}
|
|
64
|
+
export class Module {
|
|
65
|
+
constructor(name, pub) {
|
|
66
|
+
this.name = name;
|
|
67
|
+
this.pub = pub;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
53
70
|
//# sourceMappingURL=crate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crate.js","sourceRoot":"","sources":["../../../src/codemodel/crate.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;
|
|
1
|
+
{"version":3,"file":"crate.js","sourceRoot":"","sources":["../../../src/codemodel/crate.ts"],"names":[],"mappings":"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"}
|