@azure-tools/typespec-go 0.1.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 (119) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +16 -0
  3. package/dist/codegen.go/src/clientFactory.d.ts +3 -0
  4. package/dist/codegen.go/src/clientFactory.d.ts.map +1 -0
  5. package/dist/codegen.go/src/clientFactory.js +77 -0
  6. package/dist/codegen.go/src/clientFactory.js.map +1 -0
  7. package/dist/codegen.go/src/constants.d.ts +3 -0
  8. package/dist/codegen.go/src/constants.d.ts.map +1 -0
  9. package/dist/codegen.go/src/constants.js +59 -0
  10. package/dist/codegen.go/src/constants.js.map +1 -0
  11. package/dist/codegen.go/src/fake/factory.d.ts +3 -0
  12. package/dist/codegen.go/src/fake/factory.d.ts.map +1 -0
  13. package/dist/codegen.go/src/fake/factory.js +69 -0
  14. package/dist/codegen.go/src/fake/factory.js.map +1 -0
  15. package/dist/codegen.go/src/fake/internal.d.ts +14 -0
  16. package/dist/codegen.go/src/fake/internal.d.ts.map +1 -0
  17. package/dist/codegen.go/src/fake/internal.js +197 -0
  18. package/dist/codegen.go/src/fake/internal.js.map +1 -0
  19. package/dist/codegen.go/src/fake/servers.d.ts +14 -0
  20. package/dist/codegen.go/src/fake/servers.d.ts.map +1 -0
  21. package/dist/codegen.go/src/fake/servers.js +1255 -0
  22. package/dist/codegen.go/src/fake/servers.js.map +1 -0
  23. package/dist/codegen.go/src/gomod.d.ts +3 -0
  24. package/dist/codegen.go/src/gomod.d.ts.map +1 -0
  25. package/dist/codegen.go/src/gomod.js +55 -0
  26. package/dist/codegen.go/src/gomod.js.map +1 -0
  27. package/dist/codegen.go/src/helpers.d.ts +32 -0
  28. package/dist/codegen.go/src/helpers.d.ts.map +1 -0
  29. package/dist/codegen.go/src/helpers.js +586 -0
  30. package/dist/codegen.go/src/helpers.js.map +1 -0
  31. package/dist/codegen.go/src/imports.d.ts +11 -0
  32. package/dist/codegen.go/src/imports.d.ts.map +1 -0
  33. package/dist/codegen.go/src/imports.js +65 -0
  34. package/dist/codegen.go/src/imports.js.map +1 -0
  35. package/dist/codegen.go/src/interfaces.d.ts +3 -0
  36. package/dist/codegen.go/src/interfaces.d.ts.map +1 -0
  37. package/dist/codegen.go/src/interfaces.js +36 -0
  38. package/dist/codegen.go/src/interfaces.js.map +1 -0
  39. package/dist/codegen.go/src/models.d.ts +9 -0
  40. package/dist/codegen.go/src/models.d.ts.map +1 -0
  41. package/dist/codegen.go/src/models.js +849 -0
  42. package/dist/codegen.go/src/models.js.map +1 -0
  43. package/dist/codegen.go/src/operations.d.ts +9 -0
  44. package/dist/codegen.go/src/operations.d.ts.map +1 -0
  45. package/dist/codegen.go/src/operations.js +1337 -0
  46. package/dist/codegen.go/src/operations.js.map +1 -0
  47. package/dist/codegen.go/src/options.d.ts +3 -0
  48. package/dist/codegen.go/src/options.d.ts.map +1 -0
  49. package/dist/codegen.go/src/options.js +64 -0
  50. package/dist/codegen.go/src/options.js.map +1 -0
  51. package/dist/codegen.go/src/polymorphics.d.ts +3 -0
  52. package/dist/codegen.go/src/polymorphics.d.ts.map +1 -0
  53. package/dist/codegen.go/src/polymorphics.js +169 -0
  54. package/dist/codegen.go/src/polymorphics.js.map +1 -0
  55. package/dist/codegen.go/src/responses.d.ts +7 -0
  56. package/dist/codegen.go/src/responses.d.ts.map +1 -0
  57. package/dist/codegen.go/src/responses.js +167 -0
  58. package/dist/codegen.go/src/responses.js.map +1 -0
  59. package/dist/codegen.go/src/time.d.ts +8 -0
  60. package/dist/codegen.go/src/time.d.ts.map +1 -0
  61. package/dist/codegen.go/src/time.js +511 -0
  62. package/dist/codegen.go/src/time.js.map +1 -0
  63. package/dist/codemodel.go/src/client.d.ts +96 -0
  64. package/dist/codemodel.go/src/client.d.ts.map +1 -0
  65. package/dist/codemodel.go/src/client.js +114 -0
  66. package/dist/codemodel.go/src/client.js.map +1 -0
  67. package/dist/codemodel.go/src/index.d.ts +6 -0
  68. package/dist/codemodel.go/src/index.d.ts.map +1 -0
  69. package/dist/codemodel.go/src/index.js +10 -0
  70. package/dist/codemodel.go/src/index.js.map +1 -0
  71. package/dist/codemodel.go/src/package.d.ts +49 -0
  72. package/dist/codemodel.go/src/package.d.ts.map +1 -0
  73. package/dist/codemodel.go/src/package.js +86 -0
  74. package/dist/codemodel.go/src/package.js.map +1 -0
  75. package/dist/codemodel.go/src/param.d.ts +162 -0
  76. package/dist/codemodel.go/src/param.d.ts.map +1 -0
  77. package/dist/codemodel.go/src/param.js +189 -0
  78. package/dist/codemodel.go/src/param.js.map +1 -0
  79. package/dist/codemodel.go/src/result.d.ts +102 -0
  80. package/dist/codemodel.go/src/result.d.ts.map +1 -0
  81. package/dist/codemodel.go/src/result.js +119 -0
  82. package/dist/codemodel.go/src/result.js.map +1 -0
  83. package/dist/codemodel.go/src/type.d.ts +181 -0
  84. package/dist/codemodel.go/src/type.d.ts.map +1 -0
  85. package/dist/codemodel.go/src/type.js +242 -0
  86. package/dist/codemodel.go/src/type.js.map +1 -0
  87. package/dist/naming.go/src/mappings.d.ts +3 -0
  88. package/dist/naming.go/src/mappings.d.ts.map +1 -0
  89. package/dist/naming.go/src/mappings.js +128 -0
  90. package/dist/naming.go/src/mappings.js.map +1 -0
  91. package/dist/naming.go/src/naming.d.ts +10 -0
  92. package/dist/naming.go/src/naming.d.ts.map +1 -0
  93. package/dist/naming.go/src/naming.js +114 -0
  94. package/dist/naming.go/src/naming.js.map +1 -0
  95. package/dist/typespec-go/src/emitter.d.ts +5 -0
  96. package/dist/typespec-go/src/emitter.d.ts.map +1 -0
  97. package/dist/typespec-go/src/emitter.js +122 -0
  98. package/dist/typespec-go/src/emitter.js.map +1 -0
  99. package/dist/typespec-go/src/index.d.ts +3 -0
  100. package/dist/typespec-go/src/index.d.ts.map +1 -0
  101. package/dist/typespec-go/src/index.js +7 -0
  102. package/dist/typespec-go/src/index.js.map +1 -0
  103. package/dist/typespec-go/src/lib.d.ts +25 -0
  104. package/dist/typespec-go/src/lib.d.ts.map +1 -0
  105. package/dist/typespec-go/src/lib.js +36 -0
  106. package/dist/typespec-go/src/lib.js.map +1 -0
  107. package/dist/typespec-go/src/tcgcadapter/adapter.d.ts +5 -0
  108. package/dist/typespec-go/src/tcgcadapter/adapter.d.ts.map +1 -0
  109. package/dist/typespec-go/src/tcgcadapter/adapter.js +119 -0
  110. package/dist/typespec-go/src/tcgcadapter/adapter.js.map +1 -0
  111. package/dist/typespec-go/src/tcgcadapter/clients.d.ts +26 -0
  112. package/dist/typespec-go/src/tcgcadapter/clients.d.ts.map +1 -0
  113. package/dist/typespec-go/src/tcgcadapter/clients.js +621 -0
  114. package/dist/typespec-go/src/tcgcadapter/clients.js.map +1 -0
  115. package/dist/typespec-go/src/tcgcadapter/types.d.ts +29 -0
  116. package/dist/typespec-go/src/tcgcadapter/types.d.ts.map +1 -0
  117. package/dist/typespec-go/src/tcgcadapter/types.js +975 -0
  118. package/dist/typespec-go/src/tcgcadapter/types.js.map +1 -0
  119. package/package.json +77 -0
@@ -0,0 +1,242 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License. See License.txt in the project root for license information.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ // UsageFlags are bit flags indicating how a model/polymorphic type is used
6
+ export var UsageFlags;
7
+ (function (UsageFlags) {
8
+ // the type is unreferenced
9
+ UsageFlags[UsageFlags["None"] = 0] = "None";
10
+ // the type is received over the wire
11
+ UsageFlags[UsageFlags["Input"] = 1] = "Input";
12
+ // the type is sent over the wire
13
+ UsageFlags[UsageFlags["Output"] = 2] = "Output";
14
+ })(UsageFlags || (UsageFlags = {}));
15
+ export function isBytesType(type) {
16
+ return type.encoding !== undefined;
17
+ }
18
+ export function isConstantType(type) {
19
+ return type.values !== undefined;
20
+ }
21
+ export function isLiteralValueType(type) {
22
+ return isConstantType(type) || isPrimitiveType(type);
23
+ }
24
+ export function isPrimitiveType(type) {
25
+ return type.typeName !== undefined;
26
+ }
27
+ export function isQualifiedType(type) {
28
+ return type.exportName !== undefined;
29
+ }
30
+ export function isTimeType(type) {
31
+ return type.dateTimeFormat !== undefined;
32
+ }
33
+ export function isMapType(type) {
34
+ return type.valueType !== undefined;
35
+ }
36
+ export function isModelType(type) {
37
+ return type.format !== undefined;
38
+ }
39
+ export function isPolymorphicType(type) {
40
+ return type.interface !== undefined;
41
+ }
42
+ export function isSliceType(type) {
43
+ return type.elementType !== undefined;
44
+ }
45
+ export function isInterfaceType(type) {
46
+ return type.possibleTypes !== undefined;
47
+ }
48
+ export function isLiteralValue(type) {
49
+ return type.literal !== undefined;
50
+ }
51
+ export function getLiteralValueTypeName(literal) {
52
+ if (isBytesType(literal)) {
53
+ return '[]byte';
54
+ }
55
+ else if (isConstantType(literal)) {
56
+ return literal.name;
57
+ }
58
+ else if (isPrimitiveType(literal)) {
59
+ return literal.typeName;
60
+ }
61
+ else if (isTimeType(literal)) {
62
+ return 'time.Time';
63
+ }
64
+ else {
65
+ throw new Error(`unhandled LiteralValueType ${getTypeDeclaration(literal)}`);
66
+ }
67
+ }
68
+ export function getTypeDeclaration(type, pkgName) {
69
+ if (isPrimitiveType(type)) {
70
+ return type.typeName;
71
+ }
72
+ else if (isQualifiedType(type)) {
73
+ let pkg = type.packageName;
74
+ const pathChar = pkg.lastIndexOf('/');
75
+ if (pathChar) {
76
+ pkg = pkg.substring(pathChar + 1);
77
+ }
78
+ return pkg + '.' + type.exportName;
79
+ }
80
+ else if (isConstantType(type) || isInterfaceType(type) || isModelType(type) || isPolymorphicType(type)) {
81
+ if (pkgName) {
82
+ return `${pkgName}.${type.name}`;
83
+ }
84
+ return type.name;
85
+ }
86
+ else if (isBytesType(type)) {
87
+ return '[]byte';
88
+ }
89
+ else if (isLiteralValue(type)) {
90
+ return getTypeDeclaration(type.type, pkgName);
91
+ }
92
+ else if (isMapType(type)) {
93
+ let pointer = '*';
94
+ if (type.valueTypeByValue) {
95
+ pointer = '';
96
+ }
97
+ return `map[string]${pointer}` + getTypeDeclaration(type.valueType, pkgName);
98
+ }
99
+ else if (isSliceType(type)) {
100
+ let pointer = '*';
101
+ if (type.elementTypeByValue) {
102
+ pointer = '';
103
+ }
104
+ return `[]${pointer}` + getTypeDeclaration(type.elementType, pkgName);
105
+ }
106
+ else if (isTimeType(type)) {
107
+ return 'time.Time';
108
+ }
109
+ else {
110
+ throw new Error(`unhandled type ${typeof (type)}`);
111
+ }
112
+ }
113
+ ///////////////////////////////////////////////////////////////////////////////////////////////////
114
+ // base types
115
+ ///////////////////////////////////////////////////////////////////////////////////////////////////
116
+ export class StructField {
117
+ constructor(name, type, byValue) {
118
+ this.name = name;
119
+ this.type = type;
120
+ this.byValue = byValue;
121
+ }
122
+ }
123
+ export class StructType {
124
+ constructor(name) {
125
+ this.fields = new Array();
126
+ this.name = name;
127
+ }
128
+ }
129
+ ///////////////////////////////////////////////////////////////////////////////////////////////////
130
+ ///////////////////////////////////////////////////////////////////////////////////////////////////
131
+ export class ConstantType {
132
+ constructor(name, type, valuesFuncName) {
133
+ this.name = name;
134
+ this.type = type;
135
+ this.values = new Array();
136
+ this.valuesFuncName = valuesFuncName;
137
+ }
138
+ }
139
+ export class ConstantValue {
140
+ constructor(name, type, value) {
141
+ this.name = name;
142
+ this.type = type;
143
+ this.value = value;
144
+ }
145
+ }
146
+ export class LiteralValue {
147
+ constructor(type, literal) {
148
+ this.type = type;
149
+ this.literal = literal;
150
+ }
151
+ }
152
+ export class ModelType extends StructType {
153
+ constructor(name, format, annotations, usage) {
154
+ super(name);
155
+ this.format = format;
156
+ this.annotations = annotations;
157
+ this.usage = usage;
158
+ this.fields = new Array();
159
+ }
160
+ }
161
+ export class ModelAnnotations {
162
+ constructor(omitSerDe, multipartForm) {
163
+ this.omitSerDeMethods = omitSerDe;
164
+ this.multipartFormData = multipartForm;
165
+ }
166
+ }
167
+ export class ModelField extends StructField {
168
+ constructor(name, type, byValue, serializedName, annotations) {
169
+ super(name, type, byValue);
170
+ this.serializedName = serializedName;
171
+ this.annotations = annotations;
172
+ }
173
+ }
174
+ export class ModelFieldAnnotations {
175
+ constructor(required, readOnly, isAddlProps, isDiscriminator) {
176
+ this.required = required;
177
+ this.readOnly = readOnly;
178
+ this.isAdditionalProperties = isAddlProps;
179
+ this.isDiscriminator = isDiscriminator;
180
+ }
181
+ }
182
+ export class PolymorphicType extends StructType {
183
+ constructor(name, iface, annotations, usage) {
184
+ super(name);
185
+ this.interface = iface;
186
+ this.annotations = annotations;
187
+ this.usage = usage;
188
+ this.fields = new Array();
189
+ }
190
+ }
191
+ export class InterfaceType {
192
+ // possibleTypes and rootType are required. however, we have a chicken-and-egg
193
+ // problem as creating a PolymorphicType requires the necessary InterfaceType.
194
+ // so these fields MUST be populated after creating the InterfaceType.
195
+ constructor(name, discriminatorField) {
196
+ this.name = name;
197
+ this.discriminatorField = discriminatorField;
198
+ this.possibleTypes = new Array();
199
+ //this.rootType = rootType;
200
+ }
201
+ }
202
+ export class BytesType {
203
+ constructor(encoding) {
204
+ this.encoding = encoding;
205
+ }
206
+ }
207
+ export class PrimitiveType {
208
+ constructor(typeName) {
209
+ this.typeName = typeName;
210
+ }
211
+ }
212
+ export class QualifiedType {
213
+ constructor(exportName, packageName) {
214
+ this.exportName = exportName;
215
+ this.packageName = packageName;
216
+ }
217
+ }
218
+ export class MapType {
219
+ constructor(valueType, valueTypeByValue) {
220
+ this.valueType = valueType;
221
+ this.valueTypeByValue = valueTypeByValue;
222
+ }
223
+ }
224
+ export class SliceType {
225
+ constructor(elementType, elementTypeByValue) {
226
+ this.elementType = elementType;
227
+ this.elementTypeByValue = elementTypeByValue;
228
+ }
229
+ }
230
+ export class TimeType {
231
+ constructor(format, utc) {
232
+ this.dateTimeFormat = format;
233
+ this.utc = utc;
234
+ }
235
+ }
236
+ export class XMLInfo {
237
+ constructor() {
238
+ this.attribute = false;
239
+ this.text = false;
240
+ }
241
+ }
242
+ //# sourceMappingURL=type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type.js","sourceRoot":"","sources":["../../../../codemodel.go/src/type.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare const CommonAcronyms: string[];
2
+ export declare const ReservedWords: string[];
3
+ //# sourceMappingURL=mappings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mappings.d.ts","sourceRoot":"","sources":["../../../../naming.go/src/mappings.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,cAAc,UA2D1B,CAAC;AAEF,eAAO,MAAM,aAAa,UAoEzB,CAAC"}
@@ -0,0 +1,128 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License. See License.txt in the project root for license information.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ export const CommonAcronyms = [
6
+ '^aad$',
7
+ '^acl',
8
+ 'aes\\d+',
9
+ '^api$',
10
+ '^ascii$',
11
+ '^cpu$',
12
+ '^crc\\d*$',
13
+ '^css$',
14
+ '^csv$',
15
+ '^dns$',
16
+ '^eof$',
17
+ 'gcm',
18
+ '^guid$',
19
+ '^html$',
20
+ '^http[s|\\d]?$',
21
+ '^jpeg$',
22
+ '^(id)s?$',
23
+ '^(ipc)onfig',
24
+ '^(ip)s?$',
25
+ '^(ips)ec',
26
+ '^(ip)[vV]\\d',
27
+ '^iso\\d+$',
28
+ '^json$',
29
+ '^lhs$',
30
+ '^mbcs$',
31
+ '^md5$',
32
+ '^(od)ata$',
33
+ '^pdf$',
34
+ '^png$',
35
+ '^qps$',
36
+ '^ram$',
37
+ '^rfc\\d*$',
38
+ '^rhs$',
39
+ '^rpc$',
40
+ '^sha\\d*$',
41
+ '^(sku)[sS]?$',
42
+ '^sla$',
43
+ '^smtp$',
44
+ '^sql$',
45
+ '^ssh$',
46
+ '^ssl$',
47
+ '^tcp$',
48
+ '^tiff$',
49
+ '^tls$',
50
+ '^ttl$',
51
+ '^udp$',
52
+ '^ui$',
53
+ '^uid$',
54
+ '^uuid$',
55
+ '^uri$',
56
+ '^url$',
57
+ '^utc$',
58
+ '^utf\\d*$',
59
+ '^(vm)s?$',
60
+ '^(vpn)s?$',
61
+ '^xml$',
62
+ '^xsrf$',
63
+ '^xss$'
64
+ ];
65
+ export const ReservedWords = [
66
+ // Reserved keywords -- list retrieved from http://golang.org/ref/spec#Keywords
67
+ 'break', 'default', 'func', 'interface', 'select',
68
+ 'case', 'defer', 'go', 'map', 'struct',
69
+ 'chan', 'else', 'goto', 'package', 'switch',
70
+ 'const', 'fallthrough', 'if', 'range', 'type',
71
+ 'continue', 'for', 'import', 'return', 'var',
72
+ // Reserved predeclared identifiers -- list retrieved from http://golang.org/ref/spec#Predeclared_identifiers
73
+ 'bool', 'byte',
74
+ 'complex64', 'complex128',
75
+ 'error',
76
+ 'float32', 'float64',
77
+ 'int', 'int8', 'int16', 'int32', 'int64',
78
+ 'rune', 'string',
79
+ 'uint', 'uint8', 'uint16', 'uint32', 'uint64',
80
+ 'uintptr',
81
+ 'true', 'false', 'iota',
82
+ 'nil',
83
+ 'append', 'cap', 'close', 'complex', 'copy', 'delete', 'imag', 'len', 'make', 'new', 'panic', 'print', 'println', 'real', 'recover',
84
+ // Reserved packages -- list retrieved from http://golang.org/pkg/
85
+ // -- Since package names serve as partial identifiers, exclude the standard library
86
+ 'archive', 'tar', 'zip',
87
+ 'bufio',
88
+ 'builtin',
89
+ 'bytes',
90
+ 'compress', 'bzip2', 'flate', 'gzip', 'lzw', 'zlib',
91
+ 'container', 'heap', 'list', 'ring',
92
+ 'context',
93
+ 'crypto', 'aes', 'cipher', 'des', 'dsa', 'ecdsa', 'ed25519', 'elliptic', 'hmac', 'md5', 'rand', 'rc4', 'rsa', 'sha1', 'sha256', 'sha512', 'subtle', 'tls', 'x509', 'pkix',
94
+ 'database', 'sql', 'driver',
95
+ 'debug', 'dwarf', 'elf', 'gosym', 'macho', 'pe', 'plan9obj',
96
+ 'encoding', 'ascii85', 'asn1', 'base32', 'base64', 'binary', 'csv', 'gob', 'hex', 'json', 'pem', 'xml',
97
+ 'errors',
98
+ 'expvar',
99
+ 'flag',
100
+ 'fmt',
101
+ 'go', 'ast', 'build', 'constant', 'doc', 'format', 'importer', 'parser', 'printer', 'scanner', 'token', 'types',
102
+ 'hash', 'adler32', 'crc32', 'crc64', 'fnv',
103
+ 'html', 'template',
104
+ 'image', 'color', 'palette', 'draw', 'gif', 'jpeg', 'png',
105
+ 'index', 'suffixarray',
106
+ 'io', 'ioutil',
107
+ 'log', 'syslog',
108
+ 'math', 'big', 'bits', 'cmplx', 'rand',
109
+ 'mime', 'multipart', 'quotedprintable',
110
+ 'net', 'http', 'cgi', 'cookiejar', 'fcgi', 'httptest', 'httptrace', 'httputil', 'pprof', 'mail', 'rpc', 'jsonrpc', 'smtp', 'textproto', 'url',
111
+ 'os', 'exec', 'signal', 'user',
112
+ 'path', 'filepath',
113
+ 'plugin',
114
+ 'reflect',
115
+ 'regexp', 'syntax',
116
+ 'runtime', 'cgo', 'debug', 'msan', 'pprof', 'race', 'trace',
117
+ 'sort',
118
+ 'strconv',
119
+ 'strings',
120
+ 'sync', 'atomic',
121
+ 'syscall', 'js',
122
+ 'testing', 'iotest', 'quick',
123
+ 'text', 'scanner', 'tabwriter', 'template', 'parse',
124
+ 'time',
125
+ 'unicode', 'utf16', 'utf8',
126
+ 'unsafe'
127
+ ];
128
+ //# sourceMappingURL=mappings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mappings.js","sourceRoot":"","sources":["../../../../naming.go/src/mappings.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export declare function getEscapedReservedName(name: string, appendValue: string, additional?: Array<string>): string;
2
+ export declare function packageNameFromOutputFolder(folder: string): string;
3
+ export declare function ensureNameCase(name: string, lowerFirst?: boolean): string;
4
+ export declare function trimPackagePrefix(pkg: string, val: string): string;
5
+ export declare function capitalize(str: string): string;
6
+ export declare function uncapitalize(str: string): string;
7
+ export declare function createPolymorphicInterfaceName(base: string): string;
8
+ export declare function createOptionsTypeDescription(typeName: string, methodName: string): string;
9
+ export declare function createResponseEnvelopeDescription(typeName: string, methodName: string): string;
10
+ //# sourceMappingURL=naming.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"naming.d.ts","sourceRoot":"","sources":["../../../../naming.go/src/naming.ts"],"names":[],"mappings":"AAQA,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,CAM5G;AAGD,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAQlE;AAKD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,OAAO,GAAG,MAAM,CAmCzE;AAYD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAmBlE;AAUD,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAK9C;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnE;AAED,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAEzF;AAED,wBAAgB,iCAAiC,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAE9F"}
@@ -0,0 +1,114 @@
1
+ /* ---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License. See License.txt in the project root for license information.
4
+ * -------------------------------------------------------------------------------------------- */
5
+ import { CommonAcronyms, ReservedWords } from './mappings.js';
6
+ // make sure that reserved words are escaped
7
+ export function getEscapedReservedName(name, appendValue, additional) {
8
+ if (ReservedWords.includes(name) || (additional === null || additional === void 0 ? void 0 : additional.includes(name))) {
9
+ name += appendValue;
10
+ }
11
+ return name;
12
+ }
13
+ // returns the leaf folder name from the provided folder
14
+ export function packageNameFromOutputFolder(folder) {
15
+ for (let i = folder.length - 1; i > -1; --i) {
16
+ if (folder[i] === '/' || folder[i] === '\\') {
17
+ return folder.substring(i + 1);
18
+ }
19
+ }
20
+ // no path separator
21
+ return folder;
22
+ }
23
+ // used in ensureNameCase() to track which names have already been transformed.
24
+ const gRenamed = new Map();
25
+ export function ensureNameCase(name, lowerFirst) {
26
+ if (gRenamed.has(name) && gRenamed.get(name) === lowerFirst) {
27
+ return name;
28
+ }
29
+ // XMS prefix requires special handling due to too many permutations that cause weird splits in the word
30
+ name = name.replace(new RegExp('^(xms)', 'i'), 'XMS');
31
+ let reconstructed = '';
32
+ const words = deconstruct(name);
33
+ for (let i = 0; i < words.length; ++i) {
34
+ let word = words[i];
35
+ // for params, lower-case the first segment
36
+ if (lowerFirst && i === 0) {
37
+ word = word.toLowerCase();
38
+ }
39
+ else {
40
+ for (const tla of CommonAcronyms) {
41
+ // perform a case-insensitive match against the list of TLAs
42
+ const match = word.match(new RegExp(tla, 'i'));
43
+ if (match) {
44
+ // replace the match with its upper-case version
45
+ let toReplace = match[0];
46
+ if (match.length === 2) {
47
+ // a capture group was specified, use it instead
48
+ toReplace = match[1];
49
+ }
50
+ word = word.replace(toReplace, toReplace.toUpperCase());
51
+ }
52
+ }
53
+ // note that capitalize() will convert the following acronyms to all upper-case
54
+ // 'ip', 'os', 'ms', 'vm'
55
+ word = capitalize(word);
56
+ }
57
+ reconstructed += word;
58
+ }
59
+ gRenamed.set(reconstructed, lowerFirst === true);
60
+ return reconstructed;
61
+ }
62
+ // case-preserving version of deconstruct() that also splits on more path-separator characters
63
+ function deconstruct(identifier) {
64
+ return `${identifier}`.
65
+ replace(/([a-z]+)([A-Z])/g, '$1 $2').
66
+ replace(/(\d+)([a-z|A-Z]+)/g, '$1 $2').
67
+ replace(/\b([A-Z]+)([A-Z])([a-z])/, '$1 $2$3').
68
+ split(/[\W|_|.|@|-|\s|$]+/);
69
+ }
70
+ // removes pkg from val based on some heuristics
71
+ export function trimPackagePrefix(pkg, val) {
72
+ // foo.Foo doesn't stutter.
73
+ if (val.length <= pkg.length) {
74
+ return val;
75
+ }
76
+ // pkg is already upper-case
77
+ if (pkg !== val.substring(0, pkg.length).toUpperCase()) {
78
+ return val;
79
+ }
80
+ // we cannot simply remove pkg from val, consider the following case:
81
+ // pkg = tables, val = TableServicesClient; we'd end up with ervicesClient
82
+ // we have to ensure that pkg ends on a word-boundary, i.e. the next
83
+ // character is upper-case.
84
+ if (val.charAt(pkg.length) !== val.charAt(pkg.length).toUpperCase()) {
85
+ return val;
86
+ }
87
+ return val.substring(pkg.length);
88
+ }
89
+ // the following was copied from @azure-tools/codegen to keep compat without dragging in YAD
90
+ const acronyms = new Set([
91
+ 'ip',
92
+ 'os',
93
+ 'ms',
94
+ 'vm',
95
+ ]);
96
+ export function capitalize(str) {
97
+ if (acronyms.has(str)) {
98
+ return str.toUpperCase();
99
+ }
100
+ return str ? `${str.charAt(0).toUpperCase()}${str.slice(1)}` : str;
101
+ }
102
+ export function uncapitalize(str) {
103
+ return str ? `${str.charAt(0).toLowerCase()}${str.slice(1)}` : str;
104
+ }
105
+ export function createPolymorphicInterfaceName(base) {
106
+ return base + 'Classification';
107
+ }
108
+ export function createOptionsTypeDescription(typeName, methodName) {
109
+ return `${typeName} contains the optional parameters for the ${methodName} method.`;
110
+ }
111
+ export function createResponseEnvelopeDescription(typeName, methodName) {
112
+ return `${typeName} contains the response from method ${methodName}.`;
113
+ }
114
+ //# sourceMappingURL=naming.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"naming.js","sourceRoot":"","sources":["../../../../naming.go/src/naming.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { GoEmitterOptions } from './lib.js';
2
+ import { EmitContext } from '@typespec/compiler';
3
+ import 'source-map-support/register.js';
4
+ export declare function $onEmit(context: EmitContext<GoEmitterOptions>): Promise<void>;
5
+ //# sourceMappingURL=emitter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emitter.d.ts","sourceRoot":"","sources":["../../../src/emitter.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAgB5C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,gCAAgC,CAAC;AAExC,wBAAsB,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,gBAAgB,CAAC,iBAoHnE"}