@azure-tools/typespec-go 0.8.2 → 0.8.4

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 (100) hide show
  1. package/README.md +7 -1
  2. package/dist/codegen.go/src/clientFactory.d.ts.map +1 -1
  3. package/dist/codegen.go/src/clientFactory.js +33 -18
  4. package/dist/codegen.go/src/clientFactory.js.map +1 -1
  5. package/dist/codegen.go/src/cloudConfig.d.ts +10 -0
  6. package/dist/codegen.go/src/cloudConfig.d.ts.map +1 -0
  7. package/dist/codegen.go/src/cloudConfig.js +70 -0
  8. package/dist/codegen.go/src/cloudConfig.js.map +1 -0
  9. package/dist/codegen.go/src/example.d.ts.map +1 -1
  10. package/dist/codegen.go/src/example.js +104 -109
  11. package/dist/codegen.go/src/example.js.map +1 -1
  12. package/dist/codegen.go/src/fake/factory.d.ts.map +1 -1
  13. package/dist/codegen.go/src/fake/factory.js +11 -2
  14. package/dist/codegen.go/src/fake/factory.js.map +1 -1
  15. package/dist/codegen.go/src/fake/servers.d.ts.map +1 -1
  16. package/dist/codegen.go/src/fake/servers.js +58 -65
  17. package/dist/codegen.go/src/fake/servers.js.map +1 -1
  18. package/dist/codegen.go/src/gomod.js +1 -1
  19. package/dist/codegen.go/src/helpers.d.ts +45 -3
  20. package/dist/codegen.go/src/helpers.d.ts.map +1 -1
  21. package/dist/codegen.go/src/helpers.js +119 -33
  22. package/dist/codegen.go/src/helpers.js.map +1 -1
  23. package/dist/codegen.go/src/imports.d.ts +1 -1
  24. package/dist/codegen.go/src/imports.d.ts.map +1 -1
  25. package/dist/codegen.go/src/imports.js +4 -6
  26. package/dist/codegen.go/src/imports.js.map +1 -1
  27. package/dist/codegen.go/src/license.d.ts +10 -0
  28. package/dist/codegen.go/src/license.d.ts.map +1 -0
  29. package/dist/codegen.go/src/license.js +45 -0
  30. package/dist/codegen.go/src/license.js.map +1 -0
  31. package/dist/codegen.go/src/models.d.ts +0 -1
  32. package/dist/codegen.go/src/models.d.ts.map +1 -1
  33. package/dist/codegen.go/src/models.js +1 -7
  34. package/dist/codegen.go/src/models.js.map +1 -1
  35. package/dist/codegen.go/src/operations.d.ts.map +1 -1
  36. package/dist/codegen.go/src/operations.js +359 -146
  37. package/dist/codegen.go/src/operations.js.map +1 -1
  38. package/dist/codegen.go/src/responses.d.ts.map +1 -1
  39. package/dist/codegen.go/src/responses.js +2 -3
  40. package/dist/codegen.go/src/responses.js.map +1 -1
  41. package/dist/codemodel.go/src/client.d.ts +109 -35
  42. package/dist/codemodel.go/src/client.d.ts.map +1 -1
  43. package/dist/codemodel.go/src/client.js +71 -19
  44. package/dist/codemodel.go/src/client.js.map +1 -1
  45. package/dist/codemodel.go/src/examples.d.ts +17 -18
  46. package/dist/codemodel.go/src/examples.d.ts.map +1 -1
  47. package/dist/codemodel.go/src/examples.js +6 -7
  48. package/dist/codemodel.go/src/examples.js.map +1 -1
  49. package/dist/codemodel.go/src/index.d.ts +1 -0
  50. package/dist/codemodel.go/src/index.d.ts.map +1 -1
  51. package/dist/codemodel.go/src/index.js +1 -0
  52. package/dist/codemodel.go/src/index.js.map +1 -1
  53. package/dist/codemodel.go/src/method.d.ts +44 -0
  54. package/dist/codemodel.go/src/method.d.ts.map +1 -0
  55. package/dist/codemodel.go/src/method.js +30 -0
  56. package/dist/codemodel.go/src/method.js.map +1 -0
  57. package/dist/codemodel.go/src/package.d.ts +7 -0
  58. package/dist/codemodel.go/src/package.d.ts.map +1 -1
  59. package/dist/codemodel.go/src/package.js +8 -0
  60. package/dist/codemodel.go/src/package.js.map +1 -1
  61. package/dist/codemodel.go/src/param.d.ts +58 -45
  62. package/dist/codemodel.go/src/param.d.ts.map +1 -1
  63. package/dist/codemodel.go/src/param.js +28 -30
  64. package/dist/codemodel.go/src/param.js.map +1 -1
  65. package/dist/codemodel.go/src/result.d.ts +1 -1
  66. package/dist/codemodel.go/src/result.d.ts.map +1 -1
  67. package/dist/codemodel.go/src/result.js +1 -1
  68. package/dist/codemodel.go/src/result.js.map +1 -1
  69. package/dist/codemodel.go/src/type.d.ts +85 -28
  70. package/dist/codemodel.go/src/type.d.ts.map +1 -1
  71. package/dist/codemodel.go/src/type.js +71 -21
  72. package/dist/codemodel.go/src/type.js.map +1 -1
  73. package/dist/naming.go/src/index.d.ts +3 -0
  74. package/dist/naming.go/src/index.d.ts.map +1 -0
  75. package/dist/naming.go/src/index.js +7 -0
  76. package/dist/naming.go/src/index.js.map +1 -0
  77. package/dist/naming.go/src/mappings.d.ts +1 -0
  78. package/dist/naming.go/src/mappings.d.ts.map +1 -1
  79. package/dist/naming.go/src/mappings.js +5 -1
  80. package/dist/naming.go/src/mappings.js.map +1 -1
  81. package/dist/typespec-go/src/emitter.d.ts +9 -0
  82. package/dist/typespec-go/src/emitter.d.ts.map +1 -1
  83. package/dist/typespec-go/src/emitter.js +44 -1
  84. package/dist/typespec-go/src/emitter.js.map +1 -1
  85. package/dist/typespec-go/src/lib.d.ts +1 -0
  86. package/dist/typespec-go/src/lib.d.ts.map +1 -1
  87. package/dist/typespec-go/src/lib.js +5 -0
  88. package/dist/typespec-go/src/lib.js.map +1 -1
  89. package/dist/typespec-go/src/tcgcadapter/adapter.d.ts.map +1 -1
  90. package/dist/typespec-go/src/tcgcadapter/adapter.js +17 -12
  91. package/dist/typespec-go/src/tcgcadapter/adapter.js.map +1 -1
  92. package/dist/typespec-go/src/tcgcadapter/clients.d.ts +18 -2
  93. package/dist/typespec-go/src/tcgcadapter/clients.d.ts.map +1 -1
  94. package/dist/typespec-go/src/tcgcadapter/clients.js +290 -62
  95. package/dist/typespec-go/src/tcgcadapter/clients.js.map +1 -1
  96. package/dist/typespec-go/src/tcgcadapter/types.d.ts +7 -0
  97. package/dist/typespec-go/src/tcgcadapter/types.d.ts.map +1 -1
  98. package/dist/typespec-go/src/tcgcadapter/types.js +17 -10
  99. package/dist/typespec-go/src/tcgcadapter/types.js.map +1 -1
  100. package/package.json +22 -21
@@ -1 +1 @@
1
- {"version":3,"file":"servers.js","sourceRoot":"","sources":["../../../../../codegen.go/src/fake/servers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"servers.js","sourceRoot":"","sources":["../../../../../codegen.go/src/fake/servers.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ export async function generateGoModFile(codeModel, existingGoMod) {
14
14
  const modName = codeModel.options.module;
15
15
  // here we specify the minimum version of azcore as required by the code generator.
16
16
  // the version can be overwritten by passing the --azcore-version switch during generation.
17
- let version = '1.19.0';
17
+ let version = '1.20.0';
18
18
  if (codeModel.options.azcoreVersion) {
19
19
  // when matching versions, we need to handle beta, non-beta, and pseudo versions
20
20
  // 1.2.3-beta.1, 1.2.3, 0.22.1-0.20220315231014-ed309e73db6b
@@ -5,6 +5,7 @@ export declare const dateFormat = "2006-01-02";
5
5
  export declare const datetimeRFC3339Format = "time.RFC3339Nano";
6
6
  export declare const datetimeRFC1123Format = "time.RFC1123";
7
7
  export declare const timeRFC3339Format = "15:04:05.999999999Z07:00";
8
+ export declare const doNotEditRegex: RegExp;
8
9
  /**
9
10
  * returns the common source-file preamble (license comment, package name etc)
10
11
  *
@@ -15,9 +16,24 @@ export declare const timeRFC3339Format = "15:04:05.999999999Z07:00";
15
16
  */
16
17
  export declare function contentPreamble(codeModel: go.CodeModel, doNotEdit?: boolean, packageName?: string): string;
17
18
  export declare function sortAscending(a: string, b: string): number;
18
- export declare function formatParameterTypeName(param: go.ClientParameter | go.ParameterGroup, pkgName?: string): string;
19
- export declare function parameterByValue(param: go.ClientParameter): boolean;
19
+ /**
20
+ * returns the parameter's type definition with a possible '*' prefix
21
+ *
22
+ * @param param the parameter for which to emit the type definition
23
+ * @param pkgName optional package name in which the type resides
24
+ * @returns the parameter type definition text
25
+ */
26
+ export declare function formatParameterTypeName(param: go.ClientOptionsType | go.ClientParameter | go.ParameterGroup, pkgName?: string): string;
20
27
  export declare function sortParametersByRequired(a: go.ClientParameter | go.ParameterGroup, b: go.ClientParameter | go.ParameterGroup): number;
28
+ /**
29
+ * sort client parameters based on the API design guidelines.
30
+ * the params array is sorted in place and returned to the caller.
31
+ *
32
+ * @param params the client parameters to sort
33
+ * @param type the Go code model type
34
+ * @returns the provided array after it's been sorted
35
+ */
36
+ export declare function sortClientParameters(params: Array<go.ClientParameter>, type: go.CodeModelType): Array<go.ClientParameter>;
21
37
  export declare function getCreateRequestParametersSig(method: go.MethodType | go.NextPageMethod): string;
22
38
  export declare function getCreateRequestParameters(method: go.MethodType): string;
23
39
  export declare function getMethodParameters(method: go.MethodType | go.NextPageMethod, paramsFilter?: (p: Array<go.MethodParameter>) => Array<go.MethodParameter>): Array<go.MethodParameter | go.ParameterGroup>;
@@ -37,7 +53,20 @@ export declare function formatDocComment(docs: go.Docs): string;
37
53
  export declare function getParentImport(codeModel: go.CodeModel): string;
38
54
  export declare function getBitSizeForNumber(intSize: 'float32' | 'float64' | 'int8' | 'int16' | 'int32' | 'int64'): string;
39
55
  export declare function recursiveUnwrapMapSlice(item: go.WireType): go.WireType;
40
- export declare function star(param: go.MethodParameter): string;
56
+ /**
57
+ * returns a * character when byValue is false
58
+ *
59
+ * @param byValue indicates if the type is passed by value
60
+ * @returns a * or the empty string
61
+ */
62
+ export declare function star(byValue: boolean): string;
63
+ /**
64
+ * returns the zero-value expression for the specific parameter
65
+ *
66
+ * @param param the param for which to create a zero value
67
+ * @returns the zero-value expression
68
+ */
69
+ export declare function zeroValue(param: go.MethodParameter): string;
41
70
  export type SerDeFormat = 'JSON' | 'XML';
42
71
  export declare function getSerDeFormat(model: go.Model | go.PolymorphicModel, codeModel: go.CodeModel): SerDeFormat;
43
72
  export declare function getAllClientParameters(codeModel: go.CodeModel): Array<go.ClientParameter>;
@@ -124,4 +153,17 @@ export declare function buildIfBlock(indent: indentation, ifBlock: ifBlock, else
124
153
  * @returns the text for the error check block
125
154
  */
126
155
  export declare function buildErrCheck(indent: indentation, errVar: string, returns: string): string;
156
+ /**
157
+ * splits a token credential scope into the audience and scope.
158
+ * e.g. "https://monitor.azure.com/.default" is split into
159
+ * - audience: https://monitor.azure.com
160
+ * - scope: /.default
161
+ * @param scope
162
+ */
163
+ export declare function splitScope(scope: string): {
164
+ audience: string;
165
+ scope: string;
166
+ };
167
+ /** returns true if the specified method is internal */
168
+ export declare function isMethodInternal(method: go.MethodType): boolean;
127
169
  //# sourceMappingURL=helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../codegen.go/src/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../codegen.go/src/helpers.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@ export const dateFormat = '2006-01-02';
12
12
  export const datetimeRFC3339Format = 'time.RFC3339Nano';
13
13
  export const datetimeRFC1123Format = 'time.RFC1123';
14
14
  export const timeRFC3339Format = '15:04:05.999999999Z07:00';
15
+ export const doNotEditRegex = /^\/\/ Code generated .* DO NOT EDIT\.$/m;
15
16
  /**
16
17
  * returns the common source-file preamble (license comment, package name etc)
17
18
  *
@@ -30,7 +31,7 @@ export function contentPreamble(codeModel, doNotEdit = true, packageName) {
30
31
  // ensure tools recognize the file as generated according to
31
32
  // https://pkg.go.dev/cmd/go#hdr-Generate_Go_files_by_processing_source
32
33
  text = text.replace(/^\/\/ Code generated .*\.$/m, '$& DO NOT EDIT.');
33
- if (!text.match(/^\/\/ Code generated .* DO NOT EDIT\.$/m)) {
34
+ if (!text.match(doNotEditRegex)) {
34
35
  text += '\n// Code generated by @autorest/go. DO NOT EDIT.';
35
36
  }
36
37
  }
@@ -45,10 +46,22 @@ export function contentPreamble(codeModel, doNotEdit = true, packageName) {
45
46
  export function sortAscending(a, b) {
46
47
  return a < b ? -1 : a > b ? 1 : 0;
47
48
  }
48
- // returns the type name with possible * prefix
49
+ /**
50
+ * returns the parameter's type definition with a possible '*' prefix
51
+ *
52
+ * @param param the parameter for which to emit the type definition
53
+ * @param pkgName optional package name in which the type resides
54
+ * @returns the parameter type definition text
55
+ */
49
56
  export function formatParameterTypeName(param, pkgName) {
50
57
  let typeName;
51
58
  switch (param.kind) {
59
+ case 'armClientOptions':
60
+ typeName = go.getTypeDeclaration(param, pkgName);
61
+ break;
62
+ case 'clientOptions':
63
+ typeName = param.name;
64
+ break;
52
65
  case 'paramGroup':
53
66
  typeName = param.groupName;
54
67
  if (pkgName) {
@@ -60,16 +73,12 @@ export function formatParameterTypeName(param, pkgName) {
60
73
  break;
61
74
  default:
62
75
  typeName = go.getTypeDeclaration(param.type, pkgName);
63
- if (parameterByValue(param)) {
64
- // client parameters with default values aren't emitted as pointer-to-type
76
+ if (param.byValue) {
65
77
  return typeName;
66
78
  }
67
79
  }
68
80
  return `*${typeName}`;
69
81
  }
70
- export function parameterByValue(param) {
71
- return go.isRequiredParameter(param) || (param.location === 'client' && go.isClientSideDefault(param.style));
72
- }
73
82
  // sorts parameters by their required state, ordering required before optional
74
83
  export function sortParametersByRequired(a, b) {
75
84
  let aRequired = false;
@@ -79,7 +88,7 @@ export function sortParametersByRequired(a, b) {
79
88
  aRequired = a.required;
80
89
  break;
81
90
  default:
82
- aRequired = go.isRequiredParameter(a);
91
+ aRequired = go.isRequiredParameter(a.style);
83
92
  break;
84
93
  }
85
94
  switch (b.kind) {
@@ -87,7 +96,7 @@ export function sortParametersByRequired(a, b) {
87
96
  bRequired = b.required;
88
97
  break;
89
98
  default:
90
- bRequired = go.isRequiredParameter(b);
99
+ bRequired = go.isRequiredParameter(b.style);
91
100
  break;
92
101
  }
93
102
  if (aRequired === bRequired) {
@@ -98,6 +107,27 @@ export function sortParametersByRequired(a, b) {
98
107
  }
99
108
  return 1;
100
109
  }
110
+ /**
111
+ * sort client parameters based on the API design guidelines.
112
+ * the params array is sorted in place and returned to the caller.
113
+ *
114
+ * @param params the client parameters to sort
115
+ * @param type the Go code model type
116
+ * @returns the provided array after it's been sorted
117
+ */
118
+ export function sortClientParameters(params, type) {
119
+ // ARM will never have uriParams but it will likely have a scalar path
120
+ // param for the subscription ID, so we sort by that instead.
121
+ const sortBy = type === 'azure-arm' ? 'pathScalarParam' : 'uriParam';
122
+ params.sort((a, b) => {
123
+ if (a.kind === sortBy || (a.kind === 'credentialParam' && b.kind !== sortBy)) {
124
+ // sortBy always comes first, followed by credential (if applicable)
125
+ return -1;
126
+ }
127
+ return 0;
128
+ });
129
+ return params;
130
+ }
101
131
  // returns the parameters for the internal request creator method.
102
132
  // e.g. "i int, s string"
103
133
  export function getCreateRequestParametersSig(method) {
@@ -196,7 +226,7 @@ export function getParamName(param) {
196
226
  paramName = `client.${paramName}`;
197
227
  }
198
228
  // client parameters with default values aren't emitted as pointer-to-type
199
- if (!go.isRequiredParameter(param) && !(param.location === 'client' && go.isClientSideDefault(param.style)) && !param.byValue) {
229
+ if (!go.isRequiredParameter(param.style) && !(param.location === 'client' && go.isClientSideDefault(param.style)) && !param.byValue) {
200
230
  paramName = `*${paramName}`;
201
231
  }
202
232
  return paramName;
@@ -250,7 +280,7 @@ export function formatParamValue(param, imports) {
250
280
  if (param.type.kind === 'time' && param.type.format !== 'timeUnix') {
251
281
  // for most time types we call methods on time.Time which is why we remove the dereference.
252
282
  // however, for unix time, we cast to our unixTime helper first so we must keep the dereference.
253
- if (!go.isRequiredParameter(param) && paramName[0] === '*') {
283
+ if (!go.isRequiredParameter(param.style) && paramName[0] === '*') {
254
284
  // remove the dereference
255
285
  paramName = paramName.substring(1);
256
286
  }
@@ -367,7 +397,7 @@ export function formatLiteralValue(value, withCast) {
367
397
  }
368
398
  // returns true if at least one of the responses has a schema
369
399
  export function hasSchemaResponse(method) {
370
- switch (method.responseEnvelope.result?.kind) {
400
+ switch (method.returns.result?.kind) {
371
401
  case 'anyResult':
372
402
  case 'modelResult':
373
403
  case 'monomorphicResult':
@@ -379,7 +409,7 @@ export function hasSchemaResponse(method) {
379
409
  }
380
410
  // returns the name of the response field within the response envelope
381
411
  export function getResultFieldName(method) {
382
- const result = method.responseEnvelope.result;
412
+ const result = method.returns.result;
383
413
  if (!result) {
384
414
  throw new CodegenError('InternalError', `missing result for method ${method.name}`);
385
415
  }
@@ -643,9 +673,34 @@ export function recursiveUnwrapMapSlice(item) {
643
673
  return item;
644
674
  }
645
675
  }
646
- // returns a * for optional params
647
- export function star(param) {
648
- return go.isRequiredParameter(param) || param.byValue ? '' : '*';
676
+ /**
677
+ * returns a * character when byValue is false
678
+ *
679
+ * @param byValue indicates if the type is passed by value
680
+ * @returns a * or the empty string
681
+ */
682
+ export function star(byValue) {
683
+ return byValue ? '' : '*';
684
+ }
685
+ /**
686
+ * returns the zero-value expression for the specific parameter
687
+ *
688
+ * @param param the param for which to create a zero value
689
+ * @returns the zero-value expression
690
+ */
691
+ export function zeroValue(param) {
692
+ // even though API version params typically have a client-side default which makes
693
+ // them optional, the azcore.ClientOptions.APIVersion field isn't pointer-to-type.
694
+ if (go.isRequiredParameter(param.style) || go.isAPIVersionParameter(param)) {
695
+ switch (param.type.kind) {
696
+ case 'string':
697
+ return `""`;
698
+ default:
699
+ throw new CodegenError('InternalError', `unhandled zero-value kind ${param.type.kind}`);
700
+ }
701
+ }
702
+ // optional params are pointer-to-type
703
+ return 'nil';
649
704
  }
650
705
  // used by getSerDeFormat to cache results
651
706
  const serDeFormatCache = new Map();
@@ -693,7 +748,7 @@ export function getSerDeFormat(model, codeModel) {
693
748
  }
694
749
  recursiveWalkModelFields(param.type, param.bodyFormat);
695
750
  }
696
- const resultType = method.responseEnvelope.result;
751
+ const resultType = method.returns.result;
697
752
  switch (resultType?.kind) {
698
753
  case 'anyResult':
699
754
  if (resultType.format === 'JSON' || resultType.format === 'XML') {
@@ -731,34 +786,47 @@ export function getSerDeFormat(model, codeModel) {
731
786
  // return combined client parameters for all the clients
732
787
  export function getAllClientParameters(codeModel) {
733
788
  const allClientParams = new Array();
734
- for (const clients of codeModel.clients) {
735
- for (const clientParam of values(clients.parameters)) {
736
- if (values(allClientParams).where(param => param.name === clientParam.name).any()) {
737
- continue;
789
+ for (const client of codeModel.clients) {
790
+ if (client.instance?.kind === 'constructable') {
791
+ for (const ctor of client.instance.constructors) {
792
+ for (const ctorParam of ctor.parameters) {
793
+ if (go.isAPIVersionParameter(ctorParam)) {
794
+ continue;
795
+ }
796
+ else if (values(allClientParams).where(param => param.name === ctorParam.name).any()) {
797
+ continue;
798
+ }
799
+ allClientParams.push(ctorParam);
800
+ }
738
801
  }
739
- allClientParams.push(clientParam);
740
802
  }
741
803
  }
742
- allClientParams.sort(sortParametersByRequired);
743
- return allClientParams;
804
+ return sortClientParameters(allClientParams, codeModel.type);
744
805
  }
745
806
  // returns common client parameters for all the clients
746
807
  export function getCommonClientParameters(codeModel) {
747
808
  const paramCount = new Map();
748
809
  let numClients = 0; // track client count since we might skip some
749
- for (const clients of codeModel.clients) {
810
+ for (const client of codeModel.clients) {
750
811
  // special cases: some ARM clients always don't contain any parameters (OperationsClient will be depracated in the future)
751
- if (codeModel.type === 'azure-arm' && clients.name.match(/^OperationsClient$/)) {
812
+ if (codeModel.type === 'azure-arm' && client.name.match(/^OperationsClient$/)) {
752
813
  continue;
753
814
  }
754
815
  ++numClients;
755
- for (const clientParam of values(clients.parameters)) {
756
- let entry = paramCount.get(clientParam.name);
757
- if (!entry) {
758
- entry = { uses: 0, param: clientParam };
759
- paramCount.set(clientParam.name, entry);
816
+ if (client.instance?.kind === 'constructable') {
817
+ for (const ctor of client.instance.constructors) {
818
+ for (const ctorParam of ctor.parameters) {
819
+ if (go.isAPIVersionParameter(ctorParam)) {
820
+ continue;
821
+ }
822
+ let entry = paramCount.get(ctorParam.name);
823
+ if (!entry) {
824
+ entry = { uses: 0, param: ctorParam };
825
+ paramCount.set(ctorParam.name, entry);
826
+ }
827
+ ++entry.uses;
828
+ }
760
829
  }
761
- ++entry.uses;
762
830
  }
763
831
  }
764
832
  // for each param, if its usage count is equal to the
@@ -769,7 +837,7 @@ export function getCommonClientParameters(codeModel) {
769
837
  commonClientParams.push(entry.param);
770
838
  }
771
839
  }
772
- return commonClientParams.sort(sortParametersByRequired);
840
+ return sortClientParameters(commonClientParams, codeModel.type);
773
841
  }
774
842
  /**
775
843
  * enumerates method parameters and returns them based on kinds
@@ -911,4 +979,22 @@ export function buildErrCheck(indent, errVar, returns) {
911
979
  body += `${indent.pop().get()}}`;
912
980
  return body;
913
981
  }
982
+ /**
983
+ * splits a token credential scope into the audience and scope.
984
+ * e.g. "https://monitor.azure.com/.default" is split into
985
+ * - audience: https://monitor.azure.com
986
+ * - scope: /.default
987
+ * @param scope
988
+ */
989
+ export function splitScope(scope) {
990
+ const scopeSplit = scope.lastIndexOf('/');
991
+ return {
992
+ audience: scope.substring(0, scopeSplit),
993
+ scope: scope.substring(scopeSplit),
994
+ };
995
+ }
996
+ /** returns true if the specified method is internal */
997
+ export function isMethodInternal(method) {
998
+ return !!method.name.match(/^[a-z]{1}/);
999
+ }
914
1000
  //# sourceMappingURL=helpers.js.map