@azure-tools/typespec-go 0.17.4 → 0.17.5-dev.10

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 (63) hide show
  1. package/dist/src/codegen/core/example.js +20 -20
  2. package/dist/src/codegen/core/example.js.map +1 -1
  3. package/dist/src/codegen/core/helpers.d.ts +3 -9
  4. package/dist/src/codegen/core/helpers.d.ts.map +1 -1
  5. package/dist/src/codegen/core/helpers.js +33 -74
  6. package/dist/src/codegen/core/helpers.js.map +1 -1
  7. package/dist/src/codegen/core/imports.d.ts.map +1 -1
  8. package/dist/src/codegen/core/imports.js +4 -3
  9. package/dist/src/codegen/core/imports.js.map +1 -1
  10. package/dist/src/codegen/core/models.d.ts.map +1 -1
  11. package/dist/src/codegen/core/models.js +193 -143
  12. package/dist/src/codegen/core/models.js.map +1 -1
  13. package/dist/src/codegen/core/operations.js +11 -17
  14. package/dist/src/codegen/core/operations.js.map +1 -1
  15. package/dist/src/codegen/core/options.js +1 -5
  16. package/dist/src/codegen/core/options.js.map +1 -1
  17. package/dist/src/codegen/core/polymorphics.d.ts.map +1 -1
  18. package/dist/src/codegen/core/polymorphics.js +3 -5
  19. package/dist/src/codegen/core/polymorphics.js.map +1 -1
  20. package/dist/src/codegen/core/request-handler.d.ts.map +1 -1
  21. package/dist/src/codegen/core/request-handler.js +29 -22
  22. package/dist/src/codegen/core/request-handler.js.map +1 -1
  23. package/dist/src/codegen/core/response-handler.js +17 -15
  24. package/dist/src/codegen/core/response-handler.js.map +1 -1
  25. package/dist/src/codegen/core/responses.js +8 -22
  26. package/dist/src/codegen/core/responses.js.map +1 -1
  27. package/dist/src/codegen/core/unions.js +21 -16
  28. package/dist/src/codegen/core/unions.js.map +1 -1
  29. package/dist/src/codegen/fake/servers.js +105 -98
  30. package/dist/src/codegen/fake/servers.js.map +1 -1
  31. package/dist/src/codemodel/client.d.ts +8 -3
  32. package/dist/src/codemodel/client.d.ts.map +1 -1
  33. package/dist/src/codemodel/client.js +3 -3
  34. package/dist/src/codemodel/client.js.map +1 -1
  35. package/dist/src/codemodel/method.d.ts +1 -3
  36. package/dist/src/codemodel/method.d.ts.map +1 -1
  37. package/dist/src/codemodel/method.js +1 -2
  38. package/dist/src/codemodel/method.js.map +1 -1
  39. package/dist/src/codemodel/param.d.ts +41 -29
  40. package/dist/src/codemodel/param.d.ts.map +1 -1
  41. package/dist/src/codemodel/param.js +33 -33
  42. package/dist/src/codemodel/param.js.map +1 -1
  43. package/dist/src/codemodel/result.d.ts +21 -15
  44. package/dist/src/codemodel/result.d.ts.map +1 -1
  45. package/dist/src/codemodel/result.js +8 -24
  46. package/dist/src/codemodel/result.js.map +1 -1
  47. package/dist/src/codemodel/type.d.ts +83 -54
  48. package/dist/src/codemodel/type.d.ts.map +1 -1
  49. package/dist/src/codemodel/type.js +68 -30
  50. package/dist/src/codemodel/type.js.map +1 -1
  51. package/dist/src/tcgcadapter/clients.d.ts +2 -1
  52. package/dist/src/tcgcadapter/clients.d.ts.map +1 -1
  53. package/dist/src/tcgcadapter/clients.js +99 -107
  54. package/dist/src/tcgcadapter/clients.js.map +1 -1
  55. package/dist/src/tcgcadapter/helpers.d.ts +8 -27
  56. package/dist/src/tcgcadapter/helpers.d.ts.map +1 -1
  57. package/dist/src/tcgcadapter/helpers.js +32 -87
  58. package/dist/src/tcgcadapter/helpers.js.map +1 -1
  59. package/dist/src/tcgcadapter/types.d.ts +5 -3
  60. package/dist/src/tcgcadapter/types.d.ts.map +1 -1
  61. package/dist/src/tcgcadapter/types.js +113 -45
  62. package/dist/src/tcgcadapter/types.js.map +1 -1
  63. package/package.json +28 -28
@@ -6,23 +6,6 @@
6
6
  import * as client from "./client.js";
7
7
  import * as param from "./param.js";
8
8
  import * as type from "./type.js";
9
- /** returns the underlying type used for the specified result type */
10
- export function getResultType(result) {
11
- switch (result.kind) {
12
- case "anyResult":
13
- return new type.Any();
14
- case "binaryResult":
15
- return new type.ReadCloser();
16
- case "headAsBooleanResult":
17
- return new type.Scalar("bool", false);
18
- case "modelResult":
19
- return result.modelType;
20
- case "monomorphicResult":
21
- return result.monomorphicType;
22
- case "polymorphicResult":
23
- return result.interface;
24
- }
25
- }
26
9
  /** narrows type to a MonomorphicResultType within the conditional block */
27
10
  export function isMonomorphicResultType(type) {
28
11
  switch (type.kind) {
@@ -46,6 +29,7 @@ export class AnyResult {
46
29
  constructor(fieldName, format, resultTypes) {
47
30
  this.kind = "anyResult";
48
31
  this.fieldName = fieldName;
32
+ this.type = new type.Any();
49
33
  this.format = format;
50
34
  this.httpStatusCodeType = resultTypes;
51
35
  this.docs = {};
@@ -55,6 +39,7 @@ export class BinaryResult {
55
39
  constructor(fieldName) {
56
40
  this.kind = "binaryResult";
57
41
  this.fieldName = fieldName;
42
+ this.type = new type.ReadCloser();
58
43
  this.docs = {};
59
44
  }
60
45
  }
@@ -62,6 +47,7 @@ export class HeadAsBooleanResult {
62
47
  constructor(fieldName) {
63
48
  this.kind = "headAsBooleanResult";
64
49
  this.fieldName = fieldName;
50
+ this.type = new type.Scalar("bool", false);
65
51
  this.docs = {};
66
52
  }
67
53
  }
@@ -75,11 +61,10 @@ export class HeaderMapResponse {
75
61
  }
76
62
  }
77
63
  export class HeaderScalarResponse {
78
- constructor(fieldName, type, headerName, byValue) {
64
+ constructor(fieldName, type, headerName) {
79
65
  this.kind = "headerScalarResponse";
80
66
  this.fieldName = fieldName;
81
67
  this.type = type;
82
- this.byValue = byValue;
83
68
  this.headerName = headerName;
84
69
  this.docs = {};
85
70
  }
@@ -87,25 +72,24 @@ export class HeaderScalarResponse {
87
72
  export class ModelResult {
88
73
  constructor(type, format) {
89
74
  this.kind = "modelResult";
90
- this.modelType = type;
75
+ this.type = type;
91
76
  this.format = format;
92
77
  this.docs = {};
93
78
  }
94
79
  }
95
80
  export class MonomorphicResult {
96
- constructor(fieldName, format, type, byValue) {
81
+ constructor(fieldName, format, type) {
97
82
  this.kind = "monomorphicResult";
98
83
  this.fieldName = fieldName;
99
84
  this.format = format;
100
- this.monomorphicType = type;
101
- this.byValue = byValue;
85
+ this.type = type;
102
86
  this.docs = {};
103
87
  }
104
88
  }
105
89
  export class PolymorphicResult {
106
90
  constructor(type) {
107
91
  this.kind = "polymorphicResult";
108
- this.interface = type;
92
+ this.type = type;
109
93
  this.format = "JSON";
110
94
  this.docs = {};
111
95
  }
@@ -1 +1 @@
1
- {"version":3,"file":"result.js","sourceRoot":"","sources":["../../../src/codemodel/result.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"result.js","sourceRoot":"","sources":["../../../src/codemodel/result.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,7 @@ export interface Docs {
12
12
  /** defines types used in generated code but do not go across the wire */
13
13
  export type SdkType = ArmClientOptions | ClientOptions | ParameterGroup | ResponseEnvelope | TokenCredential;
14
14
  /** defines types that go across the wire */
15
- export type WireType = Any | Constant | ConstantDef | ConstantValue | EncodedBytes | ETag | Interface | Literal | Map | Model | MultipartContent | PolymorphicModel | RawJSON | ReadCloser | ReadSeekCloser | Scalar | Slice | SliceArray | String | Time | UnionStruct;
15
+ export type WireType = Any | Constant | ConstantDef | ConstantValue | EncodedBytes | ETag | Interface | Literal | Map | Model | MultipartContent | PolymorphicModel | Ptr | RawJSON | ReadCloser | ReadSeekCloser | Scalar | Slice | SliceArray | String | Time | UnionStruct;
16
16
  /** defines a type within the Go type system */
17
17
  export type Type = SdkType | WireType;
18
18
  /** the Go any type */
@@ -114,13 +114,15 @@ export type LiteralType = Constant | ConstantDef | EncodedBytes | Scalar | Strin
114
114
  /** a Go map type. note that the key is always a string */
115
115
  export interface Map<T extends MapValueType = MapValueType> {
116
116
  kind: "map";
117
- /** the type of values in the map */
118
- valueType: T;
119
- /** indicates if the map's value type is pointer-to-type or not */
120
- valueTypeByValue: boolean;
117
+ /**
118
+ * the type of values in the map.
119
+ * note that the type is always pointer-to-type
120
+ * unless the type is implicitly nil-able.
121
+ */
122
+ itemType: T;
121
123
  }
122
124
  /** the set of map value types */
123
- export type MapValueType = Any | Constant | EncodedBytes | Interface | Map | Model | MultipartContent | PolymorphicModel | RawJSON | ReadCloser | ReadSeekCloser | Scalar | Slice | SliceArray | String | Time | UnionStruct;
125
+ export type MapValueType = Any | EncodedBytes | Interface | Map | Ptr<Exclude<PtrType, ETag | Literal>> | RawJSON | ReadCloser | ReadSeekCloser | Slice | SliceArray;
124
126
  /** a field within a model */
125
127
  export interface ModelField extends StructField {
126
128
  /** the field's underlying type */
@@ -131,8 +133,8 @@ export interface ModelField extends StructField {
131
133
  annotations: ModelFieldAnnotations;
132
134
  /** the value to send over the wire if one isn't specified */
133
135
  defaultValue?: Literal;
134
- /** any XML metadata */
135
- xml?: XMLInfo;
136
+ /** contains XML-specific serde info */
137
+ xmlKind?: XMLKind;
136
138
  }
137
139
  /** additional settings for a model type */
138
140
  export interface ModelAnnotations {
@@ -176,6 +178,14 @@ export interface PolymorphicModel extends ModelBase {
176
178
  */
177
179
  discriminatorValue?: Literal;
178
180
  }
181
+ /** defines possible Ptr types */
182
+ export type PtrType = Constant | ETag | Literal | Model | MultipartContent | PolymorphicModel | Scalar | String | Time | UnionStruct;
183
+ /** a pointer to some type */
184
+ export interface Ptr<T extends PtrType = PtrType> {
185
+ kind: "ptr";
186
+ /** the type being pointed to */
187
+ ptrType: T;
188
+ }
179
189
  /** a byte slice containing raw JSON */
180
190
  export interface RawJSON {
181
191
  kind: "rawJSON";
@@ -202,26 +212,26 @@ export type ScalarType = "bool" | "byte" | "float32" | "float64" | "int8" | "int
202
212
  export interface Slice<T extends SliceElementType = SliceElementType> {
203
213
  kind: "slice";
204
214
  /** the element type for this slice */
205
- elementType: T;
206
- /** indicates if the slice's element type is pointer-to-type or not */
207
- elementTypeByValue: boolean;
215
+ itemType: T;
216
+ /** the XML name for the elements */
217
+ xmlName?: string;
208
218
  }
219
+ /** the set of slice element types */
220
+ export type SliceElementType = Any | Constant | EncodedBytes | Interface | Literal<Constant | Scalar | String> | Map | Model | MultipartContent | PolymorphicModel | Ptr<Exclude<PtrType, ETag | Literal>> | RawJSON | ReadCloser | ReadSeekCloser | Scalar | Slice | SliceArray | String | Time | UnionStruct;
209
221
  /** specialized slice type for arrays represented as delimited strings */
210
222
  export interface SliceArray {
211
223
  kind: "sliceArray";
212
224
  /** the element type for this slice */
213
- elementType: SliceArrayElementType;
214
- /** indicates if the slice's element type is pointer-to-type or not */
215
- elementTypeByValue: boolean;
225
+ itemType: SliceArrayElementType;
216
226
  /** the delimiter used to separate elements */
217
227
  delimiter: SliceArrayDelimiter;
218
228
  }
219
229
  /** the set of slice array delimiters */
220
230
  export type SliceArrayDelimiter = "comma" | "newline" | "pipe" | "space";
221
231
  /** the supported element types for arrays represented as delimited strings */
222
- export type SliceArrayElementType = Constant | String;
223
- /** the set of slice element types */
224
- export type SliceElementType = Any | Constant | EncodedBytes | Interface | Map | Model | MultipartContent | PolymorphicModel | RawJSON | ReadCloser | ReadSeekCloser | Scalar | Slice | SliceArray | String | Time | UnionStruct;
232
+ export type SliceArrayElementType = SliceArrayElementWireType | Ptr<SliceArrayElementWireType>;
233
+ /** the set of slice array wire types */
234
+ export type SliceArrayElementWireType = Constant | String;
225
235
  /** a Go string */
226
236
  export interface String {
227
237
  kind: "string";
@@ -238,8 +248,6 @@ export interface StructField {
238
248
  docs: Docs;
239
249
  /** the field's underlying type */
240
250
  type: Type;
241
- /** indicates if the field is pointer-to-type or not */
242
- byValue: boolean;
243
251
  }
244
252
  /** a time.Time type from the standard library with a format specifier */
245
253
  export interface Time extends QualifiedType {
@@ -275,8 +283,13 @@ export interface UnionStruct extends StructBase {
275
283
  }
276
284
  /**
277
285
  * the subset of WireType kinds that can appear as a variant within a non-discriminated union.
286
+ * pointer-capable variants are stored pointer-to-type.
278
287
  */
279
- export type UnionVariantType = Constant | Literal | Map | Model | Scalar | Slice | String;
288
+ export type UnionVariantType = Map | Slice | Ptr<UnionVariantPtrType>;
289
+ /** the pointer-capable wire types that can be a union variant */
290
+ export type UnionVariantPtrType = Constant | Literal | Model | Scalar | String;
291
+ /** the wire types accepted as a union variant, prior to pointer-wrapping */
292
+ export type UnionVariantWireType = Map | Slice | UnionVariantPtrType;
280
293
  /** bit flags indicating how a model/polymorphic type is used */
281
294
  export declare enum UsageFlags {
282
295
  /** the type is unreferenced */
@@ -286,23 +299,8 @@ export declare enum UsageFlags {
286
299
  /** the type is sent over the wire */
287
300
  Output = 2
288
301
  }
289
- /** metadata used for XML serde */
290
- export interface XMLInfo {
291
- /** element name to use instead of the default name */
292
- name?: string;
293
- /**
294
- * name propagated to the generated wrapper type.
295
- * this is used solely in method bodies to generate
296
- * a "type wrapper struct" with the specified name.
297
- */
298
- wrapper?: string;
299
- /** slices only. this is the name of the wrapped type */
300
- wraps?: string;
301
- /** value is an XML attribute */
302
- attribute: boolean;
303
- /** value is raw text */
304
- text: boolean;
305
- }
302
+ /** XMLKind contains info used for generating XML-specific serde */
303
+ export type XMLKind = "attribute" | "text" | "unwrappedList";
306
304
  /**
307
305
  * returns the Go type declaration for the specified LiteralType
308
306
  *
@@ -318,9 +316,18 @@ export declare function getLiteralTypeDeclaration(literal: LiteralType): string;
318
316
  *
319
317
  * @param type the type for which to emit the declaration
320
318
  * @param scope the scope in which the type declaration is emitted
319
+ * @param instance emit the type declaration used for defining an instance instead of a type.
320
+ * only useful for Ptr types so "&" is emitted instead of "*". the default is false.
321
321
  * @returns the Go type declaration
322
322
  */
323
- export declare function getTypeDeclaration(type: Client | Type, scope: PackageType): string;
323
+ export declare function getTypeDeclaration(type: Client | Type, scope: PackageType, instance?: boolean): string;
324
+ /**
325
+ * returns the XML name for the provided type or undefined
326
+ *
327
+ * @param type the type to inspect for XMLInfo
328
+ * @returns the XMLInfo or undefined
329
+ */
330
+ export declare function hasXMLName(type: WireType): string | undefined;
324
331
  /** narrows the field to the model's JSON additional properties bucket, whose type is always a map */
325
332
  export declare function isAdditionalProperties(field: ModelField): field is ModelField & {
326
333
  type: Map;
@@ -329,20 +336,39 @@ export declare function isAdditionalProperties(field: ModelField): field is Mode
329
336
  export declare function isConstant<T extends ConstantType = ConstantType>(type: WireType, ...kinds: Array<T>): type is Constant<T>;
330
337
  /** narrows type to a LiteralType within the conditional block */
331
338
  export declare function isLiteralValueType(type: WireType): type is LiteralType;
339
+ /** the inner (pointed-to) types allowed as a map value */
340
+ type MapPtrType = Extract<MapValueType, Ptr> extends Ptr<infer U> ? U : never;
332
341
  /** narrows type to a map with one of the specified value type kinds (any map when no kinds are given) */
333
- export declare function isMap<T extends MapValueType["kind"] = MapValueType["kind"]>(type: WireType, ...kinds: Array<T>): type is Map<Extract<MapValueType, {
342
+ export declare function isMap<T extends MapValueType["kind"] | MapPtrType["kind"] = MapValueType["kind"]>(type: WireType, ...kinds: Array<T>): type is Map<Extract<MapValueType, {
343
+ kind: T;
344
+ }> | (Extract<MapPtrType, {
345
+ kind: T;
346
+ }> extends never ? never : Ptr<Extract<MapPtrType, {
347
+ kind: T;
348
+ }>>)>;
349
+ /** narrows type to a ptr with one of the specified underlying types (any ptr when no types are given) */
350
+ export declare function isPtr<T extends PtrType["kind"] = PtrType["kind"]>(type: WireType, ...kinds: Array<T>): type is Ptr<Extract<PtrType, {
334
351
  kind: T;
335
352
  }>>;
336
353
  /** narrows type to a scalar with one of the specified underlying types (any scalar when no types are given) */
337
354
  export declare function isScalar<T extends ScalarType = ScalarType>(type: WireType, ...kinds: Array<T>): type is Scalar<T>;
355
+ type SlicePtrType = Extract<SliceElementType, Ptr> extends Ptr<infer U> ? U : never;
338
356
  /** narrows type to a slice with one of the specified element type kinds (any slice when no kinds are given) */
339
- export declare function isSlice<T extends SliceElementType["kind"] = SliceElementType["kind"]>(type: WireType, ...kinds: Array<T>): type is Slice<Extract<SliceElementType, {
357
+ export declare function isSlice<T extends SliceElementType["kind"] | SlicePtrType["kind"] = SliceElementType["kind"]>(type: WireType, ...kinds: Array<T>): type is Slice<Extract<SliceElementType, {
340
358
  kind: T;
341
- }>>;
342
- /** narrows type to a UnionVariantType within the conditional block */
343
- export declare function isUnionVariantType(type: WireType): type is UnionVariantType;
359
+ }> | (Extract<SlicePtrType, {
360
+ kind: T;
361
+ }> extends never ? never : Ptr<Extract<SlicePtrType, {
362
+ kind: T;
363
+ }>>)>;
364
+ /** narrows type to a union variant wire type (prior to pointer-wrapping) within the conditional block */
365
+ export declare function isUnionVariantType(type: Exclude<WireType, Ptr>): type is UnionVariantWireType;
366
+ /** the result of unwrapping a Ptr from T, distributing over unions */
367
+ type UnwrappedPtr<T> = T extends Ptr<infer U> ? U : Exclude<T, Ptr>;
368
+ /** unwraps type from a Ptr type, else returns type */
369
+ export declare function unwrapPtr<T extends WireType>(type: T): UnwrappedPtr<T>;
344
370
  export declare class StructField implements StructField {
345
- constructor(name: string, type: Type, byValue: boolean);
371
+ constructor(name: string, type: Type);
346
372
  }
347
373
  /** used when building types that come from an external package */
348
374
  export interface QualifiedType {
@@ -371,8 +397,11 @@ interface ModelBase extends StructBase {
371
397
  annotations: ModelAnnotations;
372
398
  /** usage flags for this model */
373
399
  usage: UsageFlags;
374
- /** any XML metadata */
375
- xml?: XMLInfo;
400
+ /**
401
+ * the name of the type over the wire if it's
402
+ * different from the type's name.
403
+ */
404
+ xmlName?: string;
376
405
  }
377
406
  declare class StructBase implements StructBase {
378
407
  constructor(pkg: PackageContent, name: string);
@@ -408,13 +437,13 @@ export declare class Literal<T> implements Literal<T> {
408
437
  constructor(type: T, literal: unknown);
409
438
  }
410
439
  export declare class Map<T extends MapValueType = MapValueType> implements Map<T> {
411
- constructor(valueType: T, valueTypeByValue: boolean);
440
+ constructor(itemType: T);
412
441
  }
413
442
  export declare class ModelAnnotations implements ModelAnnotations {
414
443
  constructor(omitSerDe: boolean, multipartForm: boolean);
415
444
  }
416
445
  export declare class ModelField extends StructField implements ModelField {
417
- constructor(name: string, type: WireType, byValue: boolean, serializedName: string, annotations: ModelFieldAnnotations);
446
+ constructor(name: string, type: WireType, serializedName: string, annotations: ModelFieldAnnotations);
418
447
  }
419
448
  export declare class ModelFieldAnnotations implements ModelFieldAnnotations {
420
449
  constructor(required: boolean, readOnly: boolean, isAddlProps: boolean, isDiscriminator: boolean);
@@ -428,6 +457,9 @@ export declare class MultipartContent extends QualifiedType implements Multipart
428
457
  export declare class PolymorphicModel extends ModelBase implements PolymorphicModel {
429
458
  constructor(pkg: PackageContent, name: string, iface: Interface, annotations: ModelAnnotations, usage: UsageFlags);
430
459
  }
460
+ export declare class Ptr<T extends PtrType = PtrType> implements Ptr<T> {
461
+ constructor(ptrType: T);
462
+ }
431
463
  export declare class RawJSON implements RawJSON {
432
464
  constructor();
433
465
  }
@@ -441,10 +473,10 @@ export declare class Scalar<T extends ScalarType = ScalarType> implements Scalar
441
473
  constructor(type: T, encodeAsString: boolean);
442
474
  }
443
475
  export declare class Slice<T extends SliceElementType = SliceElementType> implements Slice<T> {
444
- constructor(elementType: T, elementTypeByValue: boolean);
476
+ constructor(itemType: T);
445
477
  }
446
478
  export declare class SliceArray implements SliceArray {
447
- constructor(elementType: SliceArrayElementType, elementTypeByValue: boolean, delimiter: SliceArrayDelimiter);
479
+ constructor(itemType: SliceArrayElementType, delimiter: SliceArrayDelimiter);
448
480
  }
449
481
  export declare class String implements String {
450
482
  constructor();
@@ -453,7 +485,7 @@ export declare class Struct extends StructBase implements Struct {
453
485
  constructor(pkg: PackageContent, name: string);
454
486
  }
455
487
  export declare class UnionField extends StructField implements UnionField {
456
- constructor(name: string, type: UnionVariantType, byValue: boolean);
488
+ constructor(name: string, type: UnionVariantType);
457
489
  }
458
490
  export declare class UnionStruct extends StructBase implements UnionStruct {
459
491
  constructor(pkg: PackageContent, name: string);
@@ -464,8 +496,5 @@ export declare class Time extends QualifiedType implements Time {
464
496
  export declare class TokenCredential extends QualifiedType implements TokenCredential {
465
497
  constructor(scopes: Array<string>);
466
498
  }
467
- export declare class XMLInfo implements XMLInfo {
468
- constructor();
469
- }
470
499
  export {};
471
500
  //# sourceMappingURL=type.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../../src/codemodel/type.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../../src/codemodel/type.ts"],"names":[],"mappings":"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"}
@@ -51,9 +51,19 @@ export function getLiteralTypeDeclaration(literal) {
51
51
  *
52
52
  * @param type the type for which to emit the declaration
53
53
  * @param scope the scope in which the type declaration is emitted
54
+ * @param instance emit the type declaration used for defining an instance instead of a type.
55
+ * only useful for Ptr types so "&" is emitted instead of "*". the default is false.
54
56
  * @returns the Go type declaration
55
57
  */
56
- export function getTypeDeclaration(type, scope) {
58
+ export function getTypeDeclaration(type, scope, instance = false) {
59
+ // client/method options are always emitted as pointer-to-type thus aren't wrapped in a go.Ptr
60
+ const byRef = type.kind === "armClientOptions" ||
61
+ type.kind === "clientOptions" ||
62
+ (type.kind === "paramGroup" && !type.required)
63
+ ? instance
64
+ ? "&"
65
+ : "*"
66
+ : "";
57
67
  switch (type.kind) {
58
68
  case "any":
59
69
  case "string":
@@ -83,9 +93,9 @@ export function getTypeDeclaration(type, scope) {
83
93
  if (pkg !== scope) {
84
94
  // type is being referenced from a different package
85
95
  // then where it's defined, so add its package prefix
86
- return `${getPackageName(pkg)}.${typeName}`;
96
+ return `${byRef}${getPackageName(pkg)}.${typeName}`;
87
97
  }
88
- return typeName;
98
+ return `${byRef}${typeName}`;
89
99
  }
90
100
  case "constantDef":
91
101
  return type.literal.type.kind;
@@ -95,12 +105,14 @@ export function getTypeDeclaration(type, scope) {
95
105
  case "literal":
96
106
  return getTypeDeclaration(type.type, scope);
97
107
  case "map":
98
- return (`map[string]${type.valueTypeByValue ? "" : "*"}` + getTypeDeclaration(type.valueType, scope));
108
+ return `map[string]${getTypeDeclaration(type.itemType, scope)}`;
109
+ case "ptr":
110
+ return `${instance ? "&" : "*"}${getTypeDeclaration(type.ptrType, scope)}`;
99
111
  case "scalar":
100
112
  return type.type;
101
113
  case "slice":
102
114
  case "sliceArray":
103
- return (`[]${type.elementTypeByValue ? "" : "*"}` + getTypeDeclaration(type.elementType, scope));
115
+ return `[]${getTypeDeclaration(type.itemType, scope)}`;
104
116
  case "time":
105
117
  return "time.Time";
106
118
  case "armClientOptions":
@@ -110,9 +122,21 @@ export function getTypeDeclaration(type, scope) {
110
122
  case "readSeekCloser":
111
123
  case "tokenCredential":
112
124
  // strip module to just the leaf package as required
113
- return `${path.basename(type.module)}.${type.name}`;
125
+ return `${byRef}${path.basename(type.module)}.${type.name}`;
114
126
  }
115
127
  }
128
+ /**
129
+ * returns the XML name for the provided type or undefined
130
+ *
131
+ * @param type the type to inspect for XMLInfo
132
+ * @returns the XMLInfo or undefined
133
+ */
134
+ export function hasXMLName(type) {
135
+ if ("xmlName" in type) {
136
+ return type.xmlName;
137
+ }
138
+ return undefined;
139
+ }
116
140
  /** narrows the field to the model's JSON additional properties bucket, whose type is always a map */
117
141
  export function isAdditionalProperties(field) {
118
142
  return field.annotations.isAdditionalProperties;
@@ -142,7 +166,16 @@ export function isMap(type, ...kinds) {
142
166
  if (type.kind !== "map") {
143
167
  return false;
144
168
  }
145
- return kinds.length === 0 || kinds.includes(type.valueType.kind);
169
+ return (kinds.length === 0 ||
170
+ kinds.includes(type.itemType.kind) ||
171
+ kinds.includes(unwrapPtr(type.itemType).kind));
172
+ }
173
+ /** narrows type to a ptr with one of the specified underlying types (any ptr when no types are given) */
174
+ export function isPtr(type, ...kinds) {
175
+ if (type.kind !== "ptr") {
176
+ return false;
177
+ }
178
+ return kinds.length === 0 || kinds.includes(type.ptrType.kind);
146
179
  }
147
180
  /** narrows type to a scalar with one of the specified underlying types (any scalar when no types are given) */
148
181
  export function isScalar(type, ...kinds) {
@@ -156,9 +189,11 @@ export function isSlice(type, ...kinds) {
156
189
  if (type.kind !== "slice") {
157
190
  return false;
158
191
  }
159
- return kinds.length === 0 || kinds.includes(type.elementType.kind);
192
+ return (kinds.length === 0 ||
193
+ kinds.includes(type.itemType.kind) ||
194
+ kinds.includes(unwrapPtr(type.itemType).kind));
160
195
  }
161
- /** narrows type to a UnionVariantType within the conditional block */
196
+ /** narrows type to a union variant wire type (prior to pointer-wrapping) within the conditional block */
162
197
  export function isUnionVariantType(type) {
163
198
  switch (type.kind) {
164
199
  case "constant":
@@ -173,14 +208,20 @@ export function isUnionVariantType(type) {
173
208
  return false;
174
209
  }
175
210
  }
211
+ /** unwraps type from a Ptr type, else returns type */
212
+ export function unwrapPtr(type) {
213
+ if (type.kind === "ptr") {
214
+ return type.ptrType;
215
+ }
216
+ return type;
217
+ }
176
218
  ///////////////////////////////////////////////////////////////////////////////////////////////////
177
219
  // exported base types
178
220
  ///////////////////////////////////////////////////////////////////////////////////////////////////
179
221
  export class StructField {
180
- constructor(name, type, byValue) {
222
+ constructor(name, type) {
181
223
  this.name = name;
182
224
  this.type = type;
183
- this.byValue = byValue;
184
225
  this.docs = {};
185
226
  }
186
227
  }
@@ -279,10 +320,9 @@ export class Literal {
279
320
  }
280
321
  }
281
322
  export class Map {
282
- constructor(valueType, valueTypeByValue) {
323
+ constructor(itemType) {
283
324
  this.kind = "map";
284
- this.valueType = valueType;
285
- this.valueTypeByValue = valueTypeByValue;
325
+ this.itemType = itemType;
286
326
  }
287
327
  }
288
328
  export class ModelAnnotations {
@@ -292,8 +332,8 @@ export class ModelAnnotations {
292
332
  }
293
333
  }
294
334
  export class ModelField extends StructField {
295
- constructor(name, type, byValue, serializedName, annotations) {
296
- super(name, type, byValue);
335
+ constructor(name, type, serializedName, annotations) {
336
+ super(name, type);
297
337
  this.serializedName = serializedName;
298
338
  this.annotations = annotations;
299
339
  }
@@ -328,6 +368,12 @@ export class PolymorphicModel extends ModelBase {
328
368
  this.interface = iface;
329
369
  }
330
370
  }
371
+ export class Ptr {
372
+ constructor(ptrType) {
373
+ this.kind = "ptr";
374
+ this.ptrType = ptrType;
375
+ }
376
+ }
331
377
  export class RawJSON {
332
378
  constructor() {
333
379
  this.kind = "rawJSON";
@@ -353,17 +399,15 @@ export class Scalar {
353
399
  }
354
400
  }
355
401
  export class Slice {
356
- constructor(elementType, elementTypeByValue) {
402
+ constructor(itemType) {
357
403
  this.kind = "slice";
358
- this.elementType = elementType;
359
- this.elementTypeByValue = elementTypeByValue;
404
+ this.itemType = itemType;
360
405
  }
361
406
  }
362
407
  export class SliceArray {
363
- constructor(elementType, elementTypeByValue, delimiter) {
408
+ constructor(itemType, delimiter) {
364
409
  this.kind = "sliceArray";
365
- this.elementType = elementType;
366
- this.elementTypeByValue = elementTypeByValue;
410
+ this.itemType = itemType;
367
411
  this.delimiter = delimiter;
368
412
  }
369
413
  }
@@ -379,8 +423,8 @@ export class Struct extends StructBase {
379
423
  }
380
424
  }
381
425
  export class UnionField extends StructField {
382
- constructor(name, type, byValue) {
383
- super(name, type, byValue);
426
+ constructor(name, type) {
427
+ super(name, type);
384
428
  }
385
429
  }
386
430
  export class UnionStruct extends StructBase {
@@ -405,10 +449,4 @@ export class TokenCredential extends QualifiedType {
405
449
  this.scopes = scopes;
406
450
  }
407
451
  }
408
- export class XMLInfo {
409
- constructor() {
410
- this.attribute = false;
411
- this.text = false;
412
- }
413
- }
414
452
  //# sourceMappingURL=type.js.map