@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.
Files changed (75) hide show
  1. package/dist/src/codegen/cargotoml.d.ts +6 -0
  2. package/dist/src/codegen/cargotoml.d.ts.map +1 -1
  3. package/dist/src/codegen/cargotoml.js +6 -1
  4. package/dist/src/codegen/cargotoml.js.map +1 -1
  5. package/dist/src/codegen/clients.d.ts +19 -2
  6. package/dist/src/codegen/clients.d.ts.map +1 -1
  7. package/dist/src/codegen/clients.js +489 -250
  8. package/dist/src/codegen/clients.js.map +1 -1
  9. package/dist/src/codegen/codeGenerator.d.ts +29 -6
  10. package/dist/src/codegen/codeGenerator.d.ts.map +1 -1
  11. package/dist/src/codegen/codeGenerator.js +64 -25
  12. package/dist/src/codegen/codeGenerator.js.map +1 -1
  13. package/dist/src/codegen/context.d.ts +41 -0
  14. package/dist/src/codegen/context.d.ts.map +1 -1
  15. package/dist/src/codegen/context.js +94 -15
  16. package/dist/src/codegen/context.js.map +1 -1
  17. package/dist/src/codegen/enums.d.ts +9 -1
  18. package/dist/src/codegen/enums.d.ts.map +1 -1
  19. package/dist/src/codegen/enums.js +34 -20
  20. package/dist/src/codegen/enums.js.map +1 -1
  21. package/dist/src/codegen/helpers.d.ts +116 -2
  22. package/dist/src/codegen/helpers.d.ts.map +1 -1
  23. package/dist/src/codegen/helpers.js +148 -18
  24. package/dist/src/codegen/helpers.js.map +1 -1
  25. package/dist/src/codegen/lib.d.ts +7 -1
  26. package/dist/src/codegen/lib.d.ts.map +1 -1
  27. package/dist/src/codegen/lib.js +10 -5
  28. package/dist/src/codegen/lib.js.map +1 -1
  29. package/dist/src/codegen/mod.d.ts +6 -1
  30. package/dist/src/codegen/mod.d.ts.map +1 -1
  31. package/dist/src/codegen/mod.js +9 -10
  32. package/dist/src/codegen/mod.js.map +1 -1
  33. package/dist/src/codegen/models.d.ts +20 -1
  34. package/dist/src/codegen/models.d.ts.map +1 -1
  35. package/dist/src/codegen/models.js +250 -13
  36. package/dist/src/codegen/models.js.map +1 -1
  37. package/dist/src/codegen/use.d.ts +32 -0
  38. package/dist/src/codegen/use.d.ts.map +1 -1
  39. package/dist/src/codegen/use.js +42 -15
  40. package/dist/src/codegen/use.js.map +1 -1
  41. package/dist/src/codemodel/client.d.ts +150 -11
  42. package/dist/src/codemodel/client.d.ts.map +1 -1
  43. package/dist/src/codemodel/client.js +60 -17
  44. package/dist/src/codemodel/client.js.map +1 -1
  45. package/dist/src/codemodel/crate.d.ts +33 -0
  46. package/dist/src/codemodel/crate.d.ts.map +1 -1
  47. package/dist/src/codemodel/crate.js +17 -0
  48. package/dist/src/codemodel/crate.js.map +1 -1
  49. package/dist/src/codemodel/method.d.ts +17 -0
  50. package/dist/src/codemodel/method.d.ts.map +1 -1
  51. package/dist/src/codemodel/types.d.ts +152 -24
  52. package/dist/src/codemodel/types.d.ts.map +1 -1
  53. package/dist/src/codemodel/types.js +39 -25
  54. package/dist/src/codemodel/types.js.map +1 -1
  55. package/dist/src/emitter.d.ts +5 -0
  56. package/dist/src/emitter.d.ts.map +1 -1
  57. package/dist/src/emitter.js +36 -23
  58. package/dist/src/emitter.js.map +1 -1
  59. package/dist/src/lib.d.ts +2 -0
  60. package/dist/src/lib.d.ts.map +1 -1
  61. package/dist/src/lib.js +6 -1
  62. package/dist/src/lib.js.map +1 -1
  63. package/dist/src/tcgcadapter/adapter.d.ts +73 -1
  64. package/dist/src/tcgcadapter/adapter.d.ts.map +1 -1
  65. package/dist/src/tcgcadapter/adapter.js +342 -81
  66. package/dist/src/tcgcadapter/adapter.js.map +1 -1
  67. package/dist/src/tcgcadapter/helpers.d.ts +18 -0
  68. package/dist/src/tcgcadapter/helpers.d.ts.map +1 -1
  69. package/dist/src/tcgcadapter/helpers.js +23 -2
  70. package/dist/src/tcgcadapter/helpers.js.map +1 -1
  71. package/dist/src/tcgcadapter/naming.d.ts +8 -0
  72. package/dist/src/tcgcadapter/naming.d.ts.map +1 -1
  73. package/dist/src/tcgcadapter/naming.js +8 -5
  74. package/dist/src/tcgcadapter/naming.js.map +1 -1
  75. 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
- export type MethodType = AsyncMethod | ClientAccessor;
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
- export type MethodParameter = BodyParameter | HeaderCollectionParameter | HeaderParameter | PathParameter | QueryCollectionParameter | QueryParameter;
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, ref: boolean);
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":"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"}
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, false);
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, ref) {
97
- super(type, ref);
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":"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"}
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;AAIpC,MAAM,WAAW,KAAK;IAEpB,IAAI,EAAE,MAAM,CAAC;IAGb,OAAO,EAAE,MAAM,CAAC;IAGhB,IAAI,EAAE,WAAW,CAAC;IAGlB,YAAY,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;IAGrC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAGzB,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAG3B,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;CAC/B;AAGD,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,YAAY,CAAC;AAKrD,MAAM,WAAW,eAAe;IAE9B,IAAI,EAAE,MAAM,CAAC;CACd;AAKD,qBAAa,KAAM,YAAW,KAAK;gBACrB,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW;IAU5D,aAAa,CAAC,UAAU,EAAE,eAAe,GAAG,IAAI;IAShD,WAAW,IAAI,IAAI;CAuBpB;AAED,qBAAa,eAAgB,YAAW,eAAe;gBACzC,IAAI,EAAE,MAAM;CAGzB"}
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;AAyC/F,mGAAmG;AACnG,mGAAmG;AAEnG,MAAM,OAAO,KAAK;IAChB,YAAY,IAAY,EAAE,OAAe,EAAE,IAAiB;QAC1D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,YAAY,GAAG,IAAI,KAAK,EAAmB,CAAC;QACjD,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,EAAc,CAAC;QACrC,IAAI,CAAC,MAAM,GAAG,IAAI,KAAK,EAAe,CAAC;QACvC,IAAI,CAAC,OAAO,GAAG,IAAI,KAAK,EAAiB,CAAC;IAC5C,CAAC;IAED,aAAa,CAAC,UAA2B;QACvC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,YAAY,EAAE;YACnC,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,EAAE;gBAChC,OAAO;aACR;SACF;QACD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACrC,CAAC;IAED,WAAW;QACT,MAAM,aAAa,GAAG,UAAS,CAAS,EAAE,CAAS;YACjD,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,CAAC,CAAC;QAEF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAkB,EAAE,CAAkB,EAAE,EAAE,GAAG,OAAO,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9G,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAa,EAAE,CAAa,EAAE,EAAE,GAAG,OAAO,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7F,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,KAAK,EAAE;YACjC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAkB,EAAE,CAAkB,EAAE,EAAE,GAAG,OAAO,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAC7G;QACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAc,EAAE,CAAc,EAAE,EAAE,GAAG,OAAO,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChG,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE;YAC/B,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAmB,EAAE,CAAmB,EAAE,EAAE,GAAG,OAAO,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAC5G;QACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAgB,EAAE,CAAgB,EAAE,EAAE,GAAG,OAAO,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrG,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE;YACjC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAyB,EAAE,CAAyB,EAAE,EAAE,GAAG,OAAO,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACxH,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAoB,EAAE,CAAoB,EAAE,EAAE,GAAG,OAAO,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/G,IAAI,MAAM,CAAC,aAAa,EAAE;gBACxB,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAoB,EAAE,CAAoB,EAAE,EAAE,GAAG,OAAO,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAC1I;SACF;IACH,CAAC;CACF;AAED,MAAM,OAAO,eAAe;IAC1B,YAAY,IAAY;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF"}
1
+ {"version":3,"file":"crate.js","sourceRoot":"","sources":["../../../src/codemodel/crate.ts"],"names":[],"mappings":"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"}